Home

Writing User Subroutines with ABAQUS

image

Contents

1. EELAS ELASTIC STRAINS C ETHERM THERMAL STRAINS C DTHERM INCREMENTAL THERMAL STRAINS DELDSE CHANGE IN STIFFNESS DUE TEMPERATURE CHANGE DIMENSION EELAS 6 ETHERM 6 DTHERM 6 DELDSE 6 6 PARAMETER ZERO 0 D0 ONE 1 D0 TWO 2 D0 THREE 3 D0 SIX 6 D0 UMAT FOR ISOTROPIC THERMO ELASTICITY WITH LINEARLY VARYING MODULI CANNOT USED FOR PLANE STRESS C PROPS 1 E TO C PROPS 2 NU TO PROPS 3 TO PROPS 4 E T1 PROPS 5 NU T1 PROPS 6 C PROPS 7 ALPHA C PROPS 8 T INITIAL Writing User Subroutines with ABAQUS L6 39 7 01 ABAQUS 1111111111 a ELASTIC PROPERTIES AT START OF INCREMENT FAC1 TEMP PROPS 3 PROPS 6 PROPS 3 IF FAC1 LT ZERO FAC1 ZERO IF FAC1 GT ONE FAC1 ONE FACO ONE FAC1 EMOD FACO PROPS 1 FAC1 PROPS 4 ENU FACO PROPS 2 FAC1 PROPS 5 EBULK3 EMOD ONE TWO ENU EG20 EMOD ONE ENU EGO EG20 TWO ELAMO EBULK3 EG20 THREE ELASTIC PROPERTIES AT END OF INCREMENT FAC1 TEMP DTEMP PROPS 3 PROPS 6 PROPS 3 IF FAC1 LT ZERO FAC1 ZERO IF FAC1 GT ONE FAC1 ONE FACO ONE FAC1 EMOD FACO0O PROPS 1 FAC1 PROPS 4 ENU FACO PROPS 2 FAC1 PROPS 5 EBULK3 EMOD ONE TWO EN
2. C UMAT FOR ISOTROPIC ELASTICITY AND ISOTROPIC MISES PLASTICITY C CANNOT BE USED FOR PLANE STRESS FM M M C PROPS 1 E C PROPS 2 NU C PROPS 3 YIELD AND HARDENING DATA C CALLS UHARD FOR CURVE OF YIELD STRESS VS PLASTIC STRAIN M T The PARAMETER assignments yield accurate floating point constant definitions on any platform Writing User Subroutines with ABAQUS L6 27 ABAQUS UMAT Interface UMAT Utilities Utility routines SINV SPRINC SPRIND and ROTSIG can be called to assist in coding UMAT SINV will return the first and second invariants of a tensor SPRINC will return the principal values of a tensor SPRIND will return the principal values and directions of a tensor ROTSIG will rotate a tensor with an orientation matrix XIT will terminate an analysis and close all files associated with the analysis properly For details regarding the arguments required in making these calls refer to the UMAT section in Chapter 24 of the ABAQUS Standard User s Manual and the examples in this lecture 7 01 Writing User Subroutines with ABAQUS L6 28 ABAQUS UMAT Interface UMAT Conventions e Stresses and strains are stored as vectors For plane stress elements 659 0 5 For generalized plane strain and axisymmetric elements 055 044 Oy
3. 56 25 mm R 13mm t 0 82 mm LETTE te ee TT TT LL Le e eL R25mm Rs 100mm R 51 25 mm die 7 01 Writing User Subroutines with ABAQUS 7 52 7 01 ABAQUS Example 2 Force Control Element In this problem a user element is inserted that measures the punch force by adding a stiff spring to the rigid body reference node and if necessary modifies the blank holder force user element F presc rigid body reference node rigid body reference for blank holder node for punch Writing User Subroutines with ABAQUS L7 53 7 01 ABAQUS 1771117111 Example 2 Force Control Element Element Formulation The element has three nodes with a single degree of freedom u active at each node B C A Nodes A and B are connected by a spring with stiffness K so the element internal forces at nodes A and B are A int B B A Fin KU u The stiffness is entered as a user element property Writing User Subroutines with ABAQUS L7 54 ABAQUS Example 2 Force Control Element The magnitude of the force generated at node C is determined as follows Prescribe the initial value as an element property Define the target value of the punch force If the spring force has not yet exceeded the target value keep the force on node C the same If the spring force exceeds the target value by more than a
4. Lecture 5 User Subroutine URDFIL Overview ntroduction e ABAQUS Usage e URDFIL Subroutine Interface Example Using URDFIL to Terminate an Analysis 7 01 Writing User Subroutines with ABAQUS 5 1 ABAQUS Introduction Introduction Subroutine URDFIL is used to read the results 11 file at the end of an increment Thus the user can examine the results as the analysis 15 running This information can be used to make decisions such as whether to stop the analysis Results can also be extracted from the results file stored in COMMON blocks and passed into other subroutines 7 01 Writing User Subroutines with ABAQUS 5 2 ABAQUS HIP Introduction e Subroutine URDFIL must call the utility routine DBFILE to read records from the results file A detailed discussion of this routine is provided in the ABAQUS Standard User s Manual Section 5 1 4 Subroutine URDFIL can call the utility routine POSFIL to begin reading the results file at a specified step and increment The default behavior is to begin reading the data from the beginning of the file A detailed discussion of this routine is provided in the ABAQUS Standard User s Manual Section 5 1 4 7 01 Writing User Subroutines with ABAQUS L5 3 ABAQUS ABAQUS Usage ABAQUS Usage f an analysis requests that data be written to the results 11 file using the EL FILE NODE FILE CONTACT
5. These are passed in with the values interpolated from the nodes at the end of the current increment as specified with the INITIAL CONDITIONS option or the FIELD option The updated f are used to calculate the values of material properties that are a function of field variables The updated f are passed into other user subroutines CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS that are called at this material point 7 01 Writing User Subroutines with ABAQUS L4 20 ABAQUS 1771117111 USDFLD Subroutine Interface Variables that may be Defined The array containing the solution dependent state variables STATEV NSTATV can be defined in USDFLD These are passed in as the values at the beginning of the increment n all cases STATEV can be updated in this subroutine and the updated values are passed into other user subroutines CREEP HETVAL UEXPAN UMAT UMATHT and UTRS that are called at this material point The number of state variables associated with this material point is defined with the DEPVAR option The ratio PNEWDT of suggested new time increment to the time increment being used DTIME see below can be given This variable allows the user to provide input to the automatic time incrementation algorithms in ABAQUS Writing User Subroutines with ABAQUS L4 21 7 01 ABAQUS USDFLD Subroutine Interface Variables for Information Only The number of fi
6. adea x e Cg SC 5648 B Oy B jk Does 265 2 5 2 39jBu T 78 8 2 T p T 1664 The expression is fairly complex but it is straightforward to implement For details of the derivation see Section 4 6 1 of the ABAQUS Theory Manual The appropriate coding is shown on the following pages 7 01 Writing User Subroutines with ABAQUS L6 46 7 01 ABAQUS Example 3 Neo Hookean Hyperelasticity Coding for Neo Hookean Hyperelasticity C LOCAL ARRAYS d C EELAS LOGARITHMIC ELASTIC STRAINS C EELASP PRINCIPAL ELASTIC STRAINS C BBAR DEVIATORIC RIGHT CAUCHY GREEN TENSOR C BBARP PRINCIPAL VALUES OF BBAR BBARN PRINCIPAL DIRECTION OF BBAR AND EELAS C DISTGR DEVIATORIC DEFORMATION GRADIENT DISTORTION TENSOR QU cx nx cec a MEL AE DL C E AE LE C DIMENSION EELAS 6 EELASP 3 BBAR 6 BBARP 3 BBARN 3 3 1 DISTGR 3 3 C PARAMETER ZERO 0 D0 ONE 1 D0 TWO 2 D0 THREE 3 D0 FOUR 4 D0 1 SIX 6 D0 C Quen D sn EM cde LT E c XE C UMAT FOR COMPRESSIBLE NEO HOOKEAN HYPERELASTICITY CANNOT BE USED FOR PLANE STRESS RU E BE ee eee es C PROPS 1 E C PROPS 2 NU Writing User Subroutines with ABAQUS 7 01 ABAQUS 1111111111 ELASTIC PROPERTIES EMOD PROPS 1 ENU PROPS 2 C10 EMOD FOUR ONE ENU
7. DO K1 NDI 1 NDI NSHR STRESS 1 EG BBAR K1 END DO C CALCULATE THE STIFFNESS EG23 EG TWO THREE DDSDDE 1 1 EG23 1 TRBBAR EK DDSDDE 2 2 EG23 BBAR 2 TRBBAR EK DDSDDE 3 3 EG23 BBAR 3 TRBBAR EK DDSDDE 1 2 EG23 1 BBAR 2 TRBBAR DDSDDE 1 3 EG23 BBAR 1 BBAR 3 TRBBAR EK DDSDDE 2 3 EG23 BBAR 2 BBAR 3 TRBBAR EK DDSDDE 1 4 EG23 BBAR 4 TWO DDSDDE 2 4 EG23 BBAR 4 TWO DDSDDE 3 4 EG23 BBAR 4 DDSDDE 4 4 EG BBAR 1 BBAR 2 TWO IF NSHR EQ 3 THEN DDSDDE 1 5 EG23 BBAR 5 TWO DDSDDE 2 5 EG23 BBAR 5 DDSDDE 3 5 EG23 BBAR 5 TWO DDSDDE 1 6 EG23 BBAR 6 DDSDDE 2 6 EG23 BBAR 6 TWO DDSDDE 3 6 EG23 BBAR 6 TWO DDSDDE 5 5 EG BBAR 1 BBAR 3 TWO 7 01 Writing User Subroutines with ABAQUS L6 50 ABAQUS 1111111111 Example 3 Neo Hookean Hyperelasticity DDSDDE 6 6 EG BBAR 2 BBAR 3 TWO 4 5 EG BBAR 6 TWO DDSDDE 4 6 EG BBAR 5 TWO 5 6 EG BBAR 4 TWO END IF DO 1 1 NTENS DO K2 1 K1 1 DDSDDE K1 K2 DDSDDE K2 K1 END DO END DO C C CALCULATE LOGARITHMIC ELASTIC STRAINS OPTIONAL C CALL SPRIND BBAR BBARP BBARN 1 NDI NSHR EELASP 1 LOG SQRT BBARP 1 SCALE e Call to SPRIND EELASP 2 LOG SQRT BBARP 2 SCALE EELASP 3 LOG SQRT BBARP 3 SCALE EELAS 1 EELASP 1 BBARN 1 1 2 EELASP 2
8. Element type based branching should be outside the NBLOCK loop 7 01 Writing User Subroutines with ABAQUS L6 96 ABAQUS VUMAT Interface Corotational Formulation The constitutive equation is formulated in a corotational framework based on the Jaumann stress rate The strain increment is obtained with Hughes Winget Other measures can be obtained from the deformation gradient The user must define the Cauchy stress this stress reappears during the next increment as the old stress There is no need to rotate tensor state variables 7 01 Writing User Subroutines with ABAQUS L6 97 ABAQUS Example 6 VUMAT for Kinematic Hardening Example 6 VUMAT for Kinematic Hardening The governing equations and integration procedure are the same as in Example 4 Kinematic Hardening Plasticity p L6 54 The Jacobian is not required 7 01 Writing User Subroutines with ABAQUS L6 98 7 01 ABAQUS Example 6 VUMAT for Kinematic Hardening Coding for Kinematic Hardening Plasticity VUMAT C E PROPS 1 XNU PROPS 2 YIELD PROPS 3 HARD PROPS 4 C C ELASTIC CONSTANTS TWOMU ONE XNU THREMU THREE HALFS TWOMU SIXMU THREE TWOMU ALAMDA TWOMU E TWOMU SIXMU TWO E TERM ONE TWOMU ONE HARD THREMU CON1 SQRT TWO THIRDS C Writing User Subroutines with ABAQUS L6 99 7 01 ABAQUS HB C If stepTime equals to zero Example
9. 1000 0 3 0 0 04 EXPANSION DEPENDENCIES 2 5E 4 0 0 00 3E 4 0 0 02 1 4 0 0 04 5E 5 0 0 00 2 5 0 0 03 8 6 0 0 04 Writing User Subroutines with ABAQUS L4 6 ABAQUS ABAQUS Usage The elastic modulus is a function of field variable 1 f As f increases E decreases f might represent damage to the material The thermal expansion coefficient is a function of both f and field variable 2 A change in the value of f will affect both E and a ABAQUS will use linear interpolation between data points in the tabular input and will use the last available material data if f is outside of the range specified it does not extrapolate the data provided The range of f does not have to be the same for each material property 7 01 Writing User Subroutines with ABAQUS L4 7 ABAQUS ABAQUS Usage Defining Field Variable Dependence within a User Subroutine The values of f defined in USDFLD are passed into the following user subroutines CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT UTRS UINTER The material properties defined in these subroutines can be made functions of the f 7 01 Writing User Subroutines with ABAQUS L4 8 ABAQUS ABAQUS Usage Defining Field Variables e Field variables are normally considered nodal data by ABAQUS When ABAQUS begins to calculate the element stresses and stiffness 1
10. 7 01 Writing User Subroutines with ABAQUS L7 19 ABAQUS UEL Interface The number of user element properties is given with the PROPERTIES and I PROPERTIES parameters PROPERTIES determines the number of floating point property values PROPERTIES determines the number of integer property values Property values are given with the UEL PROPERTY option The properties are assigned on an element set basis hence the same UEL subroutine can be used for user elements with different properties With this approach hard coding the property values in the user subroutine is not necessary 7 01 Writing User Subroutines with ABAQUS L7 20 ABAQUS UEL Interface Coding for the UEL is supplied in a separate file and invoked with the ABAQUS execution procedure as follows abaqus job user The user subroutine must be invoked in a restarted analysis because user subroutines are not saved on the restart file 7 01 Writing User Subroutines with ABAQUS L7 21 ABAQUS UEL Interface User Element Loads Distributed load and flux types can be applied with the DLOAD and DFLUX options by using load type keys Un and UnNU neither case the equivalent nodal load vector for the distributed load type must be defined in user subroutine UEL If load type key Un is used the load magnitude is defined on the data line and can be varied in time with the AMPLITUDE option If load type key UnNU is u
11. ENUMAX EBULK3 EMOD ONE TWO ENU EG2 EMOD ONE ENU EG EG2 TWO EG3 THREE EG ELAM EBULK3 EG2 THREE ELASTIC STIFFNESS DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 ELAM END DO DDSDDE K1 K1 EG2 ELAM END DO DO K1 NDI 1 NTENS DDSDDE K1 K1 EG END DO Writing User Subroutines with ABAQUS Example 5 Isotropic Hardening Plasticity L6 74 7 01 ABAQUS HB aa aa Example 5 Isotropic Hardening Plasticity RECOVER ELASTIC AND PLASTIC STRAINS AND ROTATE FORWARD ALSO RECOVER EQUIVALENT PLASTIC STRAIN CALL ROTSIG STATEV 1 DROT EELAS 2 NDI NSHR CALL ROTSIG STATEV NTENS 1 DROT EPLAS 2 NDI NSHR EQPLAS STATEV 1 2 NTENS CALCULATE PREDICTOR STRESS AND ELASTIC STRAIN DO 1 1 NTENS DO K2 1 NTENS STRESS K2 STRESS K2 DDSDDE K2 K1 DSTRAN K1 END DO EELAS K1 EELAS K1 DSTRAN K1 END DO CALCULATE EQUIVALENT VON MISES STRESS SMISES STRESS 1 STRESS 2 2 STRESS 2 STRESS 3 2 1 STRESS 3 STRESS 1 2 DO K1 NDI 1 NTENS SMISES SMISES SIX STRESS K1 2 END DO SMISES SQRT SMISES TWO Writing User Subroutines with ABAQUS L6 75 7 01 ABAQUS HIP Q000n0n Example 5 Isotropic Hardening Plasticity GET YIELD STRESS FROM THE SPECIFIED HARDENING CURVE NVALUE NPROPS 2 1 CALL UHARD SYIELO HARD EQPLAS EQPLASRT TIME DTIME TEMP 1 DTEMP NOEL NPT LAYER KSPT KSTEP KINC CMNAME NSTATV 2 STATEV NUMFIELDV PREDEF DPRED NVALU
12. FV2 FIBER MATRIX SHEAR FAILURE FV3 SHEAR NONLINEARITY DAMAGE PRIOR TO FAILURE TOTAL OF 2 3 8 STATES 1 0 MATERIAL NAME T300 ELASTIC TYPE LAMINA DEPENDENCIES 3 22 7E6 1 88E6 0 23 1 01E6 0 0 22 7E6 1 00E0 0 00 0 0 22 7 1 1 01 6 0 0 d 1 01E6 1 01E6 0 1 E6 1 88E6 0 00 1 00E0 1 01 6 1 01E6 0 0 01 6 1 0 Writing User Subroutines with ABAQUS L4 38 ABAQUS 1111111111 Example Laminated Composite Plate Failure 22 7E6 1 00E0 0 00 1 00E0 1 01E6 1 01 6 0 1 22 7E6 1 88 6 0 23 1 00E0 1 01E6 1 01E6 0 0 22 7E6 0 1 22 7E6 1 1 1 22 7E6 1 1 1 DEPVAR 3 USER DEFINED FIELD a Shear damage 7 01 Writing User Subroutines with ABAQUS L4 39 7 01 ABAQUS 1111111111 ANALYSIS HISTORY STEP INC 200 NLGEOM STATIC DIRECT 0 05 1 0 BOUNDARY XSYMMTRY XSYMM YSYMMTRY YSYMM 1000 2 0 027 END STEP Example Laminated Composite Plate Failure Writing User Subroutines with ABAQUS L4 40 7 01 ABAQUS 1111111111 Example Laminated Composite Plate Failure User Subroutine SUBROUTINE USDFLD FIELD STATEV PNEWDT DIRECT T l CELENT TIME DTIME CMNAME ORNAME NFIELD NSTATV 2 NOEL NPT LAYER KSPT KSTEP KINC NDI NSHR 3 COORD JMAC JMATYP MATLAYO LACCFLA C INCLUDE ABA PARAM INC C MATERIAL AND STRENGTH PARAMETERS PARAMETER YT 14 86D3 XC 392 7D3 YC
13. L7 56 Coding for Force Control Element Example L 557 A r L7 61 Using Nonlinear User Elements in Various Analysis Procedures L7 63 Overview Of Procedures 4 ossa e dae ee rt n L7 63 Perturbation 17 66 Transient Analysis v eke os eee mik aaa dw eae etes L7 69 Transient Heat Transfer Analysis L7 70 Dynamic Analysis L7 73 Workshops Workshop Preliminaries xus xc WP 1 User Subroutine FILM e WI 1 User Subroutine UMAT Tangent Stiffness W2 1 7 01 Writing User Subroutines with ABAQUS TOC 6 ABAQUS Lecture 1 Introduction Overview e Overview of Some User Subroutines Where User Subroutines Fit into ABAQUS Standard ncluding User Subroutines in a Model e Writing Output from User Subroutines e Compiling and Linking User Subroutines Debugging Techniques and Proper Programming Habits 7 01 Writing User Subroutines with ABAQUS L1 1 ABAQUS c 1 Overview of Some User Subroutines Overview of Some User Subroutines e ABAQUS Standard provides users with an extensive array of user subroutines that allow them to adapt ABAQUS to their particular analysis requirements Chapter 24 of the ABAQUS Standard Users Manual details all 40 user subroutines available in ABAQU
14. Using Nonlinear User Elements Various Analysis Procedures To this point in the lecture the usages described have applied only to STATIC LFLAGS 1 1 2 The usage in many procedures is the same or similar to that for S TATIC VISCO HEAT TRANSFER STEADY STATE COUPLED TEMPERATURE DISPLACEMENT STEADY STATE GEOSTATIC SOILS STEADY STATE COUPLED THERMAL ELECTRICAL STEADY STATE 7 01 Writing User Subroutines with ABAQUS L7 64 Using Nonlinear User Elements in Various Analysis Procedures A special case of static analysis is STATIC RIKS An additional force vector containing only forces proportional to the applied loads as well as the usual force vector and the Jacobian must be supplied These additional forces must include thermal expansion effects if any are present in the element f no forces are applied to the element the usage is the same as that for a regular STATIC analysis 7 01 Writing User Subroutines with ABAQUS L7 65 ABAQUS 1771117111 Using Nonlinear User Elements in Various Analysis Procedures Perturbation Procedures User elements can also be used in most linear perturbation procedures For a static linear perturbation analysis STATIC PERTURBATION a stiffness matrix and two force vectors must be returned by the UEL The value of LFLAGS 3 denotes the matrix to be returned in a call LFLAGS 3 1 Assembly return the stiffness ma
15. amatrx ndofel ndofel svars props 1 energy 7 coords mcrd nnode u ndofel du mlvarx v ndofel 2 a ndofel time 2 params jdltyp mdload adlmag mdload 3 ddlmag mdload predef 2 npredf nnode lflags 4 jprops dimension b 2 7 gauss 2 parameter zero 0 d0 one 1 d0 two 2 d0 three 3 d0 four 4 d0 1 6 40 eight 8 d0 twelve 12 d0 data gauss 211324865d0 788675135d0 Writing User Subroutines with ABAQUS L7 40 Example 1 Planar Beam Element with Nonlinear Section Behavior ABAQUS 1111111111 c calculate length and direction cosines dx coords 1 2 coords 1 1 2 2 coords 2 1 d1l2 dx 2 dy 2 dl sqrt 412 hdl d1 two acos dx dl asin dy dl initialize rhs and lhs do 1 1 7 rhs k1 1 zero do k2 1 7 amatrx k1 k2 zero end do end do nsvint nsvars 2 7 01 Writing User Subroutines with ABAQUS L7 41 7 01 ABAQUS 1111111111 loop Example 1 Planar Beam Element with Nonlinear Section Behavior over integration points do kintk 1 2 make g gauss kintk b matrix b 1 1 three four g acos dl b 1 2 three four g asin dl b 1 3 zero b 1 4 one four g acos dl b 1 5 one four g asin dl b 1 6 zero b 1 7 four eight g dl b 2 1 six twelve g asin d12 b 2 2 six twelve g acos d12 b 2 3 four six g 1 b 2 4 six twelve g asin d12 b 2 5 six twelve g acos d1
16. du du T The parameters and y are passed into the subroutine as PARAMS 2 and PARAMS 3 7 01 Writing User Subroutines with ABAQUS 7 75 7 01 ABAQUS HB Using Nonlinear User Elements in Various Analysis Procedures Remarks The coding is simplified considerably if the HHT parameter 0 0 n particular there is no need to store the static residual vector G The variable can be set to zero with the ALPHA parameter the DYNAMIC option f the user element has no inertia or damping terms 1 if the force vector does not depend on the velocities and accelerations the o parameter can be ignored in the subroutine f the user element includes viscous effects but no inertia terms the same approach can be used as for transient heat transfer analysis The force vector then should contain the term C Au At and the term C At must be added to the stiffness n that case the parameter can again be ignored Writing User Subroutines with ABAQUS L7 76 ABAQUS i Using Nonlinear User Elements Various Analysis Procedures LFLAGS 3 5 Half step residual calculation which is needed only for automatic time incrementation e Only the force vector must be supplied which has the form N PP SS t Co 006 2 20 where is the static residual at the beginning of the previous increment Go must be stored as a s
17. 3 STATEV NSTATV TIME 1 PREDEF NUMFIELDV DPRED Writing User Subroutines with ABAQUS L6 80 Example 5 Isotropic Hardening Plasticity ABAQUS HIP C DIMENSION TABLE 2 NVALUE PARAMETER ZERO 0 D0 SET YIELD STRESS TO LAST VALUE OF TABLE HARDENING ZERO SYIELD TABLE 1 NVALUE HARD 1 ZERO C IF MORE THAN ONE ENTRY SEARCH TABLE IF NVALUE GT 1 THEN DO 1 1 NVALUE 1 EQPL1 TABLE 2 K1 1 IF EQPLAS LT EQPL1 THEN EQPLO TABLE 2 K1 IF EQPL1 LE EQPLO THEN WRITE 7 1 1 FORMAT 30X ERROR PLASTIC STRAIN MUST BE 1 ENTERED IN ASCENDING ORDER CALL XIT ENDIF 7 01 Writing User Subroutines with ABAQUS L6 81 Example 5 Isotropic Hardening Plasticity ABAQUS C CURRENT YIELD STRESS AND HARDENING DEQPL EQPL1 EQPLO SYIELO TABLE 1 K1 SYIELI TABLE 1 K1 1 DSYIEL SYIEL1 SYIELO HARD 1 DSYIEL DEQPL SYIELD SYIELO EQPLAS EQPLO HARD 1 GOTO 10 ENDIF END DO 10 CONTINUE ENDIF RETURN END 7 01 Writing User Subroutines with ABAQUS L6 82 ABAQUS HB Example 5 Isotropic Hardening Plasticity Remarks This UMAT 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 RoTSIG 7
18. 7 01 ABAQUS VUMAT Interface Comparison of VUMAT and UMAT Interfaces There are a number of significant differences between the UMAT and VUMAT interfaces VUMAT uses a two state architecture the initial values are in the OLD arrays the new values must be put in the NEW arrays The VUMAT interface is written to take advantage of vector processing The material Jacobian does not need to be defined No information is provided about element numbers The time increment cannot be redefined Utility routines are not available because they would prevent vectorization Writing User Subroutines with ABAQUS L6 92 7 01 ABAQUS VUMAT Interface The header is usually followed by dimensioning of local arrays It is good practice to define constants via parameters and to include comments PARAMETER ZERO 0 00 ONE 1 D0 TWO 2 D0 THREE 3 D0 1 THIRD 1 D0 3 D0 HALF 5D0 TWO THIRDS 2 D0 3 D0 2 THREE HALFS 1 5D0 C J2 Mises Plasticity with kinematic hardening for plane strain case C The state variables are stored as C STATE 1 back stress component 11 C STATE 2 back stress component 22 STATE 3 back stress component 33 C STATE 4 back stress component 12 C STATE 5 equivalent plastic strain The PARAMETER assignments yield accurate floating point constant definitions on any platform Writing User Subroutines with ABAQUS L6 93 ABAQUS VUMAT Interface VUMAT Conven
19. D1 SIX ONE TWO ENU EMOD JACOBIAN AND DISTORTION TENSOR DET DFGRD1 1 1 DFGRD1 2 2 DFGRD1 3 3 1 DFGRD1 1 2 DFGRD1 2 1 DFGRD1 3 3 IF NSHR EQ 3 THEN DET DET DFGRD1 1 2 DFGRD1 2 3 DFGRD1 3 1 1 DFGRD1 1 3 DFGRD1 3 2 DFGRD1 2 1 2 DFGRD1 1 3 DFGRD1 3 1 DFGRD1 2 2 3 DFGRD1 2 3 DFGRD1 3 2 DFGRD1 1 1 END IF SCALE DET ONE THREE DO K1 1 3 DO K2 1 3 DISTGR K2 K1 SCALE DFGRD1 K2 K1 END DO Writing User Subroutines with ABAQUS Example 3 Neo Hookean Hyperelasticity L6 48 ABAQUS Example 3 Hyperelasticity END DO C CALCULATE DEVIATORIC LEFT CAUCHY GREEN DEFORMATION TENSOR BBAR 1 DISTGR 1 1 2 DISTGR 1 2 2 DISTGR 1 3 2 BBAR 2 DISTGR 2 1 2 DISTGR 2 2 2 DISTGR 2 3 2 BBAR 3 DISTGR 3 3 2 DISTGR 3 1 2 DISTGR 3 2 2 BBAR 4 DISTGR 1 1 DISTGR 2 1 DISTGR 1 2 DISTGR 2 2 1 DISTGR 1 3 DISTGR 2 3 IF NSHR EQ 3 THEN BBAR 5 DISTGR 1 1 DISTGR 3 1 DISTGR 1 2 DISTGR 3 2 1 DISTGR 1 3 DISTGR 3 3 BBAR 6 DISTGR 2 1 DISTGR 3 1 DISTGR 2 2 DISTGR 3 2 1 DISTGR 2 3 DISTGR 3 3 END IF CALCULATE THE STRESS TRBBAR BBAR 1 BBAR 2 BBAR 3 THREE EG TWO C10 DET EK TWO D1 TWO DET ONE PR TWO D1 DET ONE DO K1 1 NDI STRESS K1 EG BBAR K1 TRBBAR PR END DO 7 01 Writing User Subroutines with ABAQUS L6 49 ABAQUS Example 3 Hyperelasticity
20. HB Debugging Techniques and Proper Programming Habits Solution Dependent State Variables Solution dependent state variables SDVs are values that can be defined to evolve with the solution of an analysis An example of a solution dependent state variable for the UEL subroutine is strain Several user subroutines allow the user to define SDVs Within these user subroutines the SDVs can be defined as functions of any variables passed into the user subroutine tis the user s responsibility to calculate the evolution of SDVs within the subroutine ABAQUS just stores the variables for the user subroutine 7 01 Writing User Subroutines with ABAQUS L1 21 ABAQUS HB Debugging Techniques and Proper Programming Habits e Space must be allocated to store each of the solution dependent state variables defined in a user subroutine For most subroutines the number of such variables required at the integration points or nodes is entered as the only value on the data line of the DEPVAR option USER MATERIAL DEPVAR 8 For subroutines UEL and UGENS the VARIABLES parameter must be used on the USER ELEMENT and SHELL GENERAL SECTION options respectively USER ELEMENT VARIABLES 8 For subroutine FRIC the number of variables 1s defined with the DEPVAR parameter on the FRICTION option FRICTION USER DEPVAR 8 7 01 Writing User Subroutines with ABAQUS 1 22 ABAQUS Debugging Techn
21. K1 EPLAS K1 THREE FLOW K1 DEQPL EELAS K1 EELAS K1 THREE FLOW K1 DEQPL STRESS K1 ALPHA K1 FLOW K1 SYIELD END DO e CALCULATE PLASTIC DISSIPATION SPD ZERO DO K1 1 NTENS SPD SPD STRESS K1 OLDS K1 EPLAS K1 OLDPL K1 TWO END DO 7 01 Writing User Subroutines with ABAQUS L6 63 ABAQUS Ki ini Bii Example 4 Kinematic Hardening Plasticity FORMULATE THE JACOBIAN MATERIAL TANGENT FIRST CALCULATE EFFECTIVE MODULI C C C EFFG EG SYIELD HARD DEQPL SMISES EFFG2 TWO EFFG EFFG3 THREE EFFG EFFLAM EBULK3 EFFG2 THREE EFFHRD EG3 HARD EG3 HARD EFFG3 DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 EFFLAM END DO DDSDDE K1 K1 EFFG2 EFFLAM END DO DO K1 NDI 1 NTENS DDSDDE K1 K1 EFFG END DO DO K1 1 NTENS DO K2 1 NTENS DDSDDE K2 K1 DDSDDE K2 K1 EFFHRD FLOW K2 FLOW K1 END DO END DO ENDIF 7 01 Writing User Subroutines with ABAQUS L6 64 Example 4 Kinematic Hardening Plasticity ABAQUS STORE ELASTIC STRAINS PLASTIC STRAINS AND SHIFT TENSOR IN STATE VARIABLE ARRAY NAAA DO K1 1 NTENS STATEV K1 EELAS K1 STATEV K1 NTENS EPLAS K1 STATEV 1 2 ALPHA K1 END DO RETURN END 7 01 Writing User Subroutines with ABAQUS L6 65 ABAQUS HB Example 4 Kinematic Hardening Plasticity Remarks This UMAT yields exactly the same results as the PLASTIC option with KINEMATIC hardening This is also true for la
22. else 7 01 Writing User Subroutines with ABAQUS L6 109 ABAQUS 1111111111 Example 7 VUMAT for Isotropic Hardening do 1 nblock peeqOld stateOld k 1 call vuhard yieldOld hard peeqOld props 3 nvalue trace strainInc k 1 strainInc k 2 strainInc k 3 S11 StressOld k 1 twomu strainInc k 1 alamda trace s22 stressOld k 2 twomu strainInc k 2 alamda trace 533 stressOld k 3 twomu strainInc k 3 alamda trace S12 stressOld k 4 twomu strainInc k 4 if nshr gt 1 then S13 stressOld k 5 twomu strainInc k 5 s23 stressOld k 6 twomu strainInc k 6 end if 7 01 Writing User Subroutines with ABAQUS L6 110 ABAQUS 1111111111 Example 7 VUMAT for Isotropic Hardening smean third 511 522 533 811 s11 smean 522 s22 smean 533 533 smean if nshr 1 then vmises sqrt 5 511 511 522 522 533 533 512 512 else vmises sqrt op5 s11 s11 522 522 533 533 two 512 512 two s13 513 two s23 s23 end if sigdif vmises yieldOld facyld zero if sigdif gt zero facyld one deqps facyld sigdif thremu hard 7 01 Writing User Subroutines with ABAQUS L6 111 ABAQUS 1111111111 Example 7 VUMAT for Isotropic Hardening yieldNew yieldOld hard deqps factor yieldNew yieldNew thremu deqps Update the stress stressNew k 1 s
23. n addition you can readily obtain the consistent Jacobian A 2L AE 3u Die sh h do der u uo 7o k detailed discussion about the isotropic plasticity integration algorithm can be found in Section 4 2 2 of the ABAQUS Theory Manual The appropriate coding is shown on the following pages 7 01 Writing User Subroutines with ABAQUS L6 72 7 01 ABAQUS 1771117111 Coding for Isotropic Mises Plasticity C LOCAL ARRAYS MT owe EELAS ELASTIC STRAINS C EPLAS PLASTIC STRAINS C FLOW DIRECTION OF PLASTIC FLOW Co Bees ee mum mui iE C DIMENSION EELAS 6 EPLAS 6 FLOW 6 HARD 3 C PARAMETER ZERO 0 D0 ONE 1 D0 TWO 2 D0 THREE 3 D0 SIX 6 D0 1 ENUMAX 4999D0 NEWTON 10 TOLER 1 0D 6 C E are C UMAT FOR ISOTROPIC ELASTICITY AND ISOTROPIC MISES PLASTICITY C CANNOT BE USED FOR PLANE STRESS Vul E EEE E EE E E EEE E E T C PROPS 1 E C PROPS 2 NU C PROPS 3 SYIELD AN HARDENING DATA C CALLS UHARD FOR CURVE OF YIELD STRESS VS PLASTIC STRAIN CS UE E Writing User Subroutines with ABAQUS Example 5 Isotropic Hardening Plasticity 7 01 ABAQUS ELASTIC PROPERTIES EMOD PROPS 1 ENU MIN PROPS 2
24. time incrementation algorithms in ABAQUS if automatic time incrementation is chosen It is passed in as the size of the next time increment to be taken and can be updated to increase or reduce the time increment If automatic time incrementation is not selected in the analysis procedure updated values of DTIME are ignored Variables for Information Only The step KSTEP and increment number KINC in which the routine is being called The value of step time TIME 1 and the value of total time TIME 2 at the end of the current increment 7 01 Writing User Subroutines with ABAQUS L5 11 ABAQUS Example Using URDFIL to Terminate an Analysis Example Using URDFIL to Terminate an Analysis n this example the values of Mises stress and the displacement in the 2 direction of a specific node 63 are monitored and if they exceed a given value the analysis is stopped The structure is a cantilever beam subjected to a tip load in the 2 direction Node 63 Figure 5 1 Model Geometry 7 01 Writing User Subroutines with ABAQUS L5 12 Example Using URDFIL to Terminate an Analysis ABAQUS Input Data HEADING Demonstration of URDFIL user subroutine RESTART WRITE NODE 1 0 0 21 1 0 85 0 1 105 l al NGEN NSET BOTTOM Ly 21 1 NGEN NSET TOP 85 105 1 NFILL NSET ALL BOTTOM TOP 4 21 NSET NSET LEFT GEN 1 85 21 7 01 Writing User Subro
25. 01 Writing User Subroutines with ABAQUS L6 83 ABAQUS Example 5 Isotropic Hardening Plasticity The routine calls user subroutine UHARD to recover a piecewise linear hardening curve It is 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 XIT 15 called which closes all files and terminates execution 7 01 Writing User Subroutines with ABAQUS L6 84 ABAQUS VUMAT Interface VUMAT Interface These input lines act as the interface to a VUMAT in which kinematic hardening plasticity is defined MATERIAL NAME KINPLAS USER MATERIAL CONSTANTS 4 30 E6 0 3 30 E3 40 E3 DEPVAR 5 INITIAL CONDITIONS TYPE SOLUTION Data line to specify initial solution dependent variables 7 01 Writing User Subroutines with ABAQUS L6 85 ABAQUS VUMAT Interface The input lines are identical to those for the UMAT interface The user subroutine must be kept in a separate file and 15 invoked with the ABAQUS execution procedure as follows abaqus job user The user subroutine must be invoked in a restarted analysis because user subroutines are not saved in the restart file 7 01 Writing User Subroutines with ABAQUS L6 86 ABAQUS VUMAT Interface Additional notes Solution dependen
26. 4 HARD Writing User Subroutines with ABAQUS L6 58 Example 4 Kinematic Hardening Plasticity ABAQUS Cc NR d ed mr ib ee E a ile i Ma a sc nd m a di m pa UE e e e ib en em e a de die ELASTIC PROPERTIES C EMOD PROPS 1 ENU MIN PROPS 2 ENUMAX EBULK3 EMOD ONE TWO ENU EG2 EMOD ONE ENU EG EG2 TWO EG3 THREE EG ELAM EBULK3 EG2 THREE ELASTIC STIFFNESS DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 ELAM END DO DDSDDE K1 K1 EG2 ELAM END DO DO 1 1 NTENS DDSDDE K1 K1 EG END DO 7 01 Writing User Subroutines with ABAQUS L6 59 7 01 C C C C NAAA AS Example 4 Kinematic Hardening Plasticity RECOVER ELASTIC STRAIN PLASTIC STRAIN AND SHIFT TENSOR AND ROTATE NOTE USE CODE 1 FOR TENSOR STRESS CODE 2 FOR ENGINEERING STRAIN CALL ROTSIG STATEV 1 DROT EELAS 2 NDI NSHR CALL ROTSIG STATEV NTENS 1 DROT EPLAS 2 NDI NSHR CALL ROTSIG STATEV 2 NTENS 1 DROT ALPHA 1 NDI NSHR SAVE STRESS AND PLASTIC STRAINS AND CALCULATE PREDICTOR STRESS AND ELASTIC STRAIN Calls to ROTSIG DO 1 1 NTENS OLDS K1 STRESS K1 OLDPL K1 EPLAS K1 EELAS 1 EELAS K1 DSTRAN K1 DO K2 1 NTENS STRESS K2 STRESS K2 DDSDDE K2 K1 DSTRAN K1 END DO END DO Writing User Subroutines with ABAQUS L6 60 ABAQUS Ki ini Bii Example 4 Kinematic Hardening Plasticity C C CALCULATE EQ
27. BBARN 2 1 2 1 EELASP 3 BBARN 3 1 2 EELAS 2 EELASP 1 1 2 2 EELASP 2 BBARN 2 2 2 1 EELASP 3 BBARN 3 2 2 EELAS 3 EELASP 1 BBARN 1 3 2 EELASP 2 BBARN 2 3 2 1 EELASP 3 BBARN 3 3 2 EELAS 4 EELASP 1 1 1 BBARN 1 2 7 01 Writing User Subroutines with ABAQUS L6 51 7 01 ABAQUS Example 3 Hyperelasticity 1 EELASP 2 BBARN 2 1 BBARN 2 2 2 EELASP 3 BBARN 3 1 BBARN 3 2 IF NSHR EQ 3 THEN EELAS 5 TWO EELASP 1 1 1 BBARN 1 3 1 EELASP 2 BBARN 2 1 BBARN 2 3 2 EELASP 3 BBARN 3 1 BBARN 3 3 EELAS 6 TWO EELASP 1 BBARN 1 2 BBARN 1 3 1 EELASP 2 BBARN 2 2 BBARN 2 3 2 EELASP 3 3 2 BBARN 3 3 END IF C C STORE ELASTIC STRAINS IN STATE VARIABLE ARRAY C DO K1 1 NTENS STATEV K1 EELAS K1 END DO C RETURN END Writing User Subroutines with ABAQUS L6 52 Example 3 Neo Hookean Hyperelasticity ABAQUS Remarks This UMAT yields exactly the same results as the HYPERELASTIC option with N 1 and 0 Note the use of the utility SPRIND CALL SPRIND BBAR BBARP BBARN 1 NDI NSHR Tensor BBAR consists of NDI direct components and NSHR shear components SPRIND returns the principal values and direction cosines of the principal directions of BBAR in BBARP and BBARN respectively A value
28. FILE or ENERGY FILE options subroutine URDFIL will be called at the end of any increment in which new information is written to the results file The coding for the subroutine must also be provided via the user parameter on the command line 7 01 Writing User Subroutines with ABAQUS L5 4 ABAQUS ABAQUS Usage Utility Routine POSFIL The utility routine POSFIL is used to locate the position of a specific increment of results data stored on the results 11 file Once this position is found the data for that increment can be read The interface for this utility is CALL POSFIL NSTEP NINC ARRAY JRCD Variables to be provided to the utility routine The desired step NSTEP If this variable is set to 0 the first available step will be read The desired increment NINC If this variable 1s set to 0 the first available increment of the specified step will be read 7 01 Writing User Subroutines with ABAQUS L5 5 ABAQUS Usage ABAQUS Variables returned from the utility routine A real array ARRAY containing the values of record 2000 from the results file for the requested step and increment A return code JRCD If it has a value of 0 the specified increment was found if it is has a value of 1 the specified increment was not found If the step and increment requested are not found on the results file POSFIL will return an error and leave the user positioned at the
29. For three dimensional elements 055 633 O23 The shear strain is stored as engineering shear strain 2812 The deformation gradient matrix ij 1 always stored as a three dimensional 7 01 Writing User Subroutines with ABAQUS L6 29 ABAQUS UMAT Interface UMAT Formulation Aspects For geometrically nonlinear analysis the strain increment and incremental rotation passed into the routine are based on the Hughes Winget formulae Linearized strain and rotation increments are calculated in the mid increment configuration Approximations are made particularly if rotation increments are large more accurate measures can be obtained from the deformation gradient if desired The user must define the Cauchy stress when this stress reappears during the next increment it will have been rotated with the incremental rotation DROT passed into the subroutine The stress tensor can be rotated back using the utility routine ROTSIG if this is not desired 7 01 Writing User Subroutines with ABAQUS L6 30 ABAQUS UMAT Interface If the ORIENTATION option is used in conjunction with UMAT stress and strain components will be in the local system again this basis system rotates with the material in finite strain analysis e Tensor state variables must be rotated in the subroutine use ROTSIG f UMAT is used with reduced integration elements or shear flexible shell
30. Loop over all of the records Loop over large number 5 mes 4 ensure that all records DO K1 1 999999 are read CALL DBFILE 0 ARRAY JRCD IF JRCD NE 0 GO TO 110 KEY JRRAY 1 2 Rm Check for end of file Record 1 contains element information for subsequent records 0000 IF KEY EQ 1 THEN IELM JRRAY 1 3 IMATPT JRRAY 1 4 END IF Writing User Subroutines with ABAQUS 5 17 ABAQUS Example Using URDFIL to Terminate an Analysis C Record 12 contains values for SINV C IF KEY EQ 12 THEN IF ARRAY 3 GT TOL THEN LMISES 1 GOTO 210 END IF END IF C C Record 101 contains U C IF KEY EQ 101 THEN IF JRRAY 1 3 EQ 63 THEN IF ABS ARRAY 5 GT DEFL THEN LDEFL 1 GOTO 210 END IF Write why analysis is END IF terminated to message file 7 01 Writing User Subroutines with ABAQUS L5 18 Example Using URDFIL to Terminate an Analysis ABAQUS END IF END DO 110 CONTINUE 210 IF LMISES EQ 1 THEN WRITE 7 WRITE 7 1023 TOL IELEM IMATPT WRITE 7 LSTOP 1 END IF IF LDEFL EQ 1 THEN WRITE 7 WRITE 7 1024 DEFL WRITE 7 LSTOP 1 END IF RETURN 7 01 Writing User Subroutines with ABAQUS L5 19 Example Using URDFIL to Terminate an Analysis ABAQUS 1023 FORMAT NOTE ANALYSIS TERMINATES MISES amp STRESS EXCEEDS 2X E9 3 IX IN ELEMENT 1X I6 amp 1X AT INT PT 1X I6 1024 FORMAT NOTE ANALYSIS TERMI
31. Motivation e User Element for Crack Propagation Concrete Like Materials R Vitali and G L Zanotelli ABAQUS Users Conference Proceedings 1994 Figure 7 3 Configuration at a General Increment Definition of the User Element 7 01 Writing User Subroutines with ABAQUS 7 7 ABAQUS s Defining a User Element Defining a User Element Key Characteristics of a User Element Before a UEL subroutine can be written the following key characteristics of the element must be defined The number of nodes on the element The number of coordinates present at each node The degrees of freedom active at each node 7 01 Writing User Subroutines with ABAQUS L7 8 ABAQUS s Defining a User Element Other Important Element Properties In addition the following properties must be determined The number of element properties to be defined external to the UEL The number of solution dependent state variables SDVs to be stored per element The number of distributed load types available for the element These items need not be determined immediately they can be added easily after the basic UEL subroutine is completed 7 01 Writing User Subroutines with ABAQUS L7 9 7 01 ABAQUS s Defining a User Element Defining the User Element Behavior The element s main contribution to the model during general analysis steps 1s to provide fluxes F at the nod
32. NBLOCK NSTATEV ENERINTERNNEW NBLOCK ENERINELASNEW NBLOCK e ON HD FP WD HS CHARACTER 8 CMNAME 7 01 Writing User Subroutines with ABAQUS L6 89 ABAQUS VUMAT Interface VUMAT Variables The following quantities are available in VUMAT but they cannot be redefined Stress stretch and SDVs at the start of the increment Relative rotation vector and deformation gradient at the start and end of an increment and strain increment Total and incremental values of time temperature and user defined field variables at the start and end of an increment Material constants density material point position and a characteristic element length nternal and dissipated energies at the beginning of the increment Number of material points to be processed in a call to the routine NBLOCK 7 01 Writing User Subroutines with ABAQUS L6 90 7 01 ABAQUS VUMAT Interface A flag indicating whether the routine is being called during an annealing process The following quantities must be defined Stress and SDVs at the end of an increment The following variables may be defined nternal and dissipated energies at the end of the increment Many of these variables are equivalent or similar to those in UMAT Complete descriptions of all parameters are provided in the VUMAT section in Chapter 21 of the ABAQUS Explicit User s Manual Writing User Subroutines with ABAQUS L6 91
33. Subroutines with ABAQUS W1 4 Answers to Workshop 1 Answers 1 User Subroutine FILM Question 1 1 Which variable is assigned the value of a 7 Answer The second position in the array H 2 is given the value Question WI 2 What is the derivative of the absolute value of a variable that is what is P when y x Answer The derivative of the absolute value of a variable is either 1 or 1 depending on the sign of the variable Question WI 3 Where is the easiest place to find the total number of iterations used during an analysis Answer The easiest place to find the total number of iterations is in the summary at the end of the message file ANALYSIS SUMMARY TOTAL OF 1 INCREMENTS 5 CUTBACKS IN AUTOMATIC INCREMENTATION 45 ITERATIONS 45 PASSES THROUGH THE EQUATION SOLVER OF WHICH 45 INVOLVE MATRIX DECOMPOSITION INCLUDING 0 DECOMPOSITION S OF THE MASS MATRIX ADDITIONAL RESIDUAL EVALUATIONS FOR LINE SEARCHES ADDITIONAL OPERATOR EVALUATIONS FOR LINE SEARCHES WARNING MESSAGES DURING USER INPUT PROCESSING WARNING MESSAGES DURING ANALYSIS ANALYSIS WARNINGS ARE NUMERICAL PROBLEM MESSAGES ANALYSIS WARNINGS ARE NEGATIVE EIGENVALUE MESSAGES ERROR MESSAGES Hooooooo THE SPARSE SOLVER HAS BEEN USED FOR THIS ANALYSIS 7 01 Writing User Subroutines with ABAQUS WAT 1 ABAQUS Question WI 4 Answer Answers to Workshop 1 The status file does not provide a total number of iterations used in an anal
34. TWO FLOW K1 DEQPL END DO DO K1 NDI 1 NTENS STRESS K1 FLOW K1 SYIELD EPLAS K1 EPLAS K1 THREE FLOW K1 DEQPL EELAS K1 EELAS K1 THREE FLOW K1 DEQPL END DO EQPLAS EQPLAS DEQPL aa CALCULATE PLASTIC DISSIPATION SPD DEQPL SYIELO SYIELD TWO 7 01 Writing User Subroutines with ABAQUS L6 78 ABAQUS ini Bii Example 5 Isotropic Hardening Plasticity FORMULATE THE JACOBIAN MATERIAL TANGENT FIRST CALCULATE EFFECTIVE MODULI C C C EFFG EG SYIELD SMISES EFFG2 TWO EFFG EFFG3 THREE TWO EFFG2 EFFLAM EBULK3 EFFG2 THREE EFFHRD EG3 HARD 1 EG3 HARD 1 EFFG3 DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 EFFLAM END DO DDSDDE K1 K1 EFFG2 EFFLAM END DO DO K1 NDI 1 NTENS DDSDDE K1 K1 EFFG END DO DO K1 1 NTENS DO K2 1 NTENS DDSDDE K2 K1 DDSDDE K2 K1 EFFHRD FLOW K2 FLOW K1 END DO END DO ENDIF 7 01 Writing User Subroutines with ABAQUS L6 79 7 01 C C C ABAQUS ini Bii Example 5 Isotropic Hardening Plasticity STORE ELASTIC AND EQUIVALENT PLASTIC STRAINS IN STATE VARIABLE ARRAY DO K1 1 NTENS STATEV K1 EELAS K1 STATEV K1 NTENS EPLAS K1 END DO STATEV 1 2 NTENS EQPLAS RETURN END SUBROUTINE UHARD SYIELD HARD EQPLAS EQPLASRT TIME DTIME TEMP 1 DTEMP NOEL NPT LAYER KSPT KSTEP KINC 2 CMNAME NSTATV STATEV NUMFIELDV 3 PREDEF DPRED NVALUE TABLE INCLUDE PARAM INC CHARACTER 80 CMNAME DIMENSION HARD
35. Why does the analysis fail to converge Answer The analysis fails to converge because the rate of convergence is very slow and ABAQUS continues to cut back the increment size The rate of convergence is slow because the value calculated for contains a large d0 error 7 01 Writing User Subroutines with ABAQUS WA1 3 7 01 ABAQUS Workshop 2 User Subroutine UMAT Tangent Stiffness Goals To investigate the effect of the tangent stiffness matrix on convergence To see how a poorly developed material model can cause problems in simulations that are under load control Problem Description The tangent stiffness matrix calculated in user subroutine UMAT plays a critical role in the Newton Raphson algorithm in ABAQUS Standard Errors in the formulation of the tangent stiffness matrix will result in analyses that require more iterations and in some cases diverge In this workshop the importance of calculating tangent stiffness correctly is explored by analyzing a small problem under uniaxial tension Both displacement and load control simulations are considered The material response being modeled is elastic plastic Mises plasticity is assumed The analysis is carried out by modifying the material stiffness calculated with user subroutine UMAT which effectively introduces an error into the tangent stiffness matrix To build confidence in user subroutine UMAT the problem is first solved using the built in Mises plastic
36. be developed to function as control and feedback mechanisms in an analysis that consists of regular elements Complex nonlinear structural elements often require significant effort in their development If the element is built out of a nonlinear material you should create a separate subroutine or series of subroutines to describe the material behavior f the material model is implemented in user subroutine UMAT a call to UMAT can be included in UEL The integration issues discussed for UMAT also apply to the material models used in UEL Writing User Subroutines with ABAQUS 17 12 7 01 ABAQUS UEL Interface UEL Interface ABAQUS Options A user element is defined with the USER ELEMENT option This option must appear in the input file before the user element is invoked with the ELEMENT option The syntax for interfacing to UEL is as follows USER ELEMENT TYPE UAZ NODES COORDINATES PROPERTIES I PROPERTIES VARIABLES UNSYMM Data line s ELEMENT TYPE U A ELSET UEL Data line s UEL PROPERTY ELSET UEL Data line s USER SUBROUTINES INPUT file_name Writing User Subroutines with ABAQUS L7 13 ABAQUS UEL Interface Parameter Definition Parameter Definition TYPE User defined element type of the form Un where n is a number NODES Number of nodes on the element COORDINATES Maximum number of coordinates at any node PROPERTIES Number of floating point properties P
37. e the element loop it interpolates the nodal values of f to the integration material points of the elements When subroutine USDFLD is used these interpolated f are replaced with the values defined in the USDFLD subroutine before the material properties of an element are calculated The values defined by USDFLD are not stored by ABAQUS If you need access to previous values of f you must save them as solution dependent variables SDVs inside USDFLD 7 01 Writing User Subroutines with ABAQUS L4 9 ABAQUS ABAQUS Usage If you bypass the USDFLD subroutine perhaps because the material properties are not going to change in a given step the integration points will use the interpolated values of f Typically these interpolated f are the initial values assigned to the nodes the default in ABAQUS is to assign a value of 0 0 if no initial value is given explicitly It is quite possible that using these interpolated values when defining the material behavior will create incorrect results Make sure you understand what ABAQUS is doing e The values of f at the element integration points can be written as output to the printed output dat results 11 and output database odb files using the output variable FV on the EL PRINT EL FILE and ELEMENT OUTPUT options respectively ABAQUS Viewer can make contour plots of FV 7 01 Writing User Subroutines with ABAQUS L4 10 utn ABAQUS U
38. h 2 al third 500 d0 abs temp sink two third third 500 d0 abs temp sink two third al third 500 0d0 abs temp sink third al third 500 0d0 abs temp sink two third Writing User Subroutines with ABAQUS L3 17 7 01 ABAQUS Lecture 4 User Subroutine USDFLD Overview ntroduction ABAQUS Usage User Subroutine GETVRM USDFLD Subroutine Interface Example Laminated Composite Plate Failure Writing User Subroutines with ABAQUS L4 1 ABAQUS Introduction Introduction User subroutine USDFLD is typically used when complex material behavior needs to be modeled and the user does not want to develop a UMAT subroutine Most material properties in ABAQUS Standard can be defined as functions of field variables f Subroutine USDFLD allows the user to define f at every integration point of an element The subroutine has access to solution data so f O p etc therefore the material properties can be a function of the solution data Subroutine USDFLD can be used only with elements that have material behavior defined with a MATERIAL option see Elements Supported by GETVRM p L4 18 for details 7 01 Writing User Subroutines with ABAQUS L4 2 ABAQUS ABAQUS Usage ABAQUS Usage ncluding user subroutine USDFLD in a model requires considerably more effort than what is needed for user subroutines DLOAD or FILM Typica
39. of 1 is used as the fourth argument to indicate that BBAR contains stresses A value of 2 1s used for strains Hyperelastic materials are often implemented more easily in user subroutine UHYPER 7 01 Writing User Subroutines with ABAQUS L6 53 ABAQUS Ki Example 4 Kinematic Hardening Plasticity Example 4 Kinematic Hardening Plasticity Governing Equations Elasticity el el or in a Jaumann corotational rate form E el el Oi NO 2UE The Jaumann rate equation is integrated in a corotational framework Ao AE 2uAe 7 01 Writing User Subroutines with ABAQUS L6 54 ABAQUS Plasticity Yield function 3 5 094009570 Oy 0 Equivalent plastic strain rate pue 3 pl Plastic flow law Prager Ziegler linear kinematic hardening Zaa 7 01 Writing User Subroutines with ABAQUS Example 4 Kinematic Hardening Plasticity L6 55 7 01 ABAQUS Example 4 Kinematic Hardening Plasticity Integration Procedure We first calculate the equivalent stress based on purely elastic behavior elastic predictor 90507 eu 0 Spr Sp 2uAe Plastic flow occurs if the elastic predictor is larger than the yield stress The backward Euler method is used to integrate the equations 3 m 5050 e After some manipulation we obtain a clos
40. rhs 3 1 fHolder else if kstep eq 3 then Adjust the punch force to control the blankholder force Values of state variables at start of increment fPunchOld svars 1 IPunch force fHolderOld svars 2 IBlankholder force fPunchMax svars 3 Allowed change in blankholder force dfHolderMax fractHolder fHolderOld Allowed tolerance in the targetforce dfPunchTol tolPunch fPunchTarget Writing User Subroutines with ABAQUS IMaximum blankholder force Example 2 Force Control Element L7 59 Example 2 Force Control Element ABAQUS 1111111111 c Calculate the holder force c if fPunchOld gt fPunchTarget dfPunchTol then fHolderNew fHolderOld dfHolderMax Decrease else if fPunchMax 1t f PunchTarget dfPunchTol or 1 fPunchOld gt fPunchTarget dfPunchTol then fHolderNew fHolderOld constant else fHolderNew fHolderOld dfHolderMax Increase end if c c Generate holder force vector c rhs 3 1 fHolderNew c Update state variables svars 1 fPunchNew svars 2 fHolderNew svars 3 max fPunchMax fPunchNew end if c return end Writing User Subroutines with ABAQUS L7 60 ABAQUS Example 2 Force Control Element Remarks No stiffness contribution is associated with the change in blank holder force because the force does not depend on the solution of the current increment An additional advantage is that the change in blank holder force will always be based on a converg
41. setting number of increments and the total number of iterations required to complete the analysis in Table W2 1 Repeat Step 3 when the seventh material constant is set to O Question W2 2 What can you say about the difference in the convergence behavior of this problem when a pressure loading is applied instead of a boundary condition Writing User Subroutines with ABAQUS W2 3 Workshop 2 User Subroutine UMAT Tangent Stiffness 7 01 ABAQUS Answers to Workshop 2 Answers 2 User Subroutine UMAT Tangent Stiffness Question W2 1 Are the results obtained with the modified stiffness matrix correct Answer Yes Errors in the tangent stiffness will only affect the convergence behavior not the final result When the elastic stiffness is used instead of the true stiffness the number of iterations is increased The results when obtained are still correct Question W2 2 What can you say about the difference in the convergence behavior of this problem when a pressure loading is applied instead of a boundary condition Answer Displacement control problems are more stable than load control problems When the elastic stiffness is used instead of the true stiffness the displacement control analysis ran successfully but the load control analysis failed Writing User Subroutines with ABAQUS WA2 1 ABAQUS Answers to Workshop 2 Table W2 1 mim 8 8 _ 77272024204 0 Number of Inc
42. steps in which all loads are prescribed to verify the consistency of the Jacobian and the flux vector Gradually increase the complexity of the test problems Compare the results with standard ABAQUS elements if possible Writing User Subroutines with ABAQUS 7 31 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior Example 1 Planar Beam Element with Nonlinear Section Behavior Objective Analyze a planar concrete frame structure The frame is loaded to an extent where significant nonlinearity occurs in the concrete but the displacements are still small enough that geometric nonlinearity may be neglected Develop a model that describes the nonlinear section behavior directly in terms of axial force and bending moment This is similar to the BEAM GENERAL SECTION SECTIONZNONLINEAR GENERAL option but allows coupling between the axial and bending terms 7 01 Writing User Subroutines with ABAQUS 7 32 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior The transverse shear deformation can be neglected Coding Requirements The element is integrated numerically hence the following quantities require definition in the UEL The element B matrix which relates the axial strain and curvature K to the element displacements u A constitutive law D relating axial force and moment M to axial strain and curv
43. terms sudden changes in velocities or accelerations and evaluation of the half step residual 1f automatic time incrementation is used is required in the UEL Writing User Subroutines with ABAQUS L7 73 ABAQUS i 11111111 Using Nonlinear User Elements in Various Analysis Procedures The value of LFLAGS 3 indicates the coding being executed and the matrices to be returned LFLAGS 3 1 Normal time increment The user must specify the forces and Jacobian corresponding to the integration procedure used The force vector has the form N NM M N N F 1 0 where M is the element mass matrix is the static force vector and is the Hughes Hilbert Taylor integration operator The static force vector must also contain the rate dependent damping terms The vector G must be stored as a set of state variables The parameter is passed into the subroutine as PARAMS 1 7 01 Writing User Subroutines with ABAQUS L7 74 ABAQUS Using Nonlinear User Elements Various Analysis Procedures The Jacobian has the form M SE 14 aye 2 where C is the element damping matrix and K is the static tangent stiffness matrix dii du and du du follow from the integration operator For the HHT operator E where 1 4 1 and y 1 2 a the coefficients in the Newmark D operator d du gt
44. the size of the time increment used in an analysis This algorithm allows ABAQUS Standard to reduce the time increment size when convergence is unlikely or the results are not accurate enough and to increase the time increment when convergence is easily obtained Subroutines such as USDFLD can make it impossible for this algorithm to function properly Therefore these subroutines are given the variable PNEWDT to provide information to the incrementation algorithm 7 01 Writing User Subroutines with ABAQUS L4 24 ABAQUS USDFLD Subroutine Interface PNEWDT is set to a large value before each call to USDFLD f PNEWDT is redefined to be less than 1 0 ABAQUS must abandon the time increment and attempt it again with a smaller time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 7 01 Writing User Subroutines with ABAQUS L4 25 ABAQUS USDFLD Subroutine Interface If PNEWDT is given a value that is greater than 1 0 for all calls to user subroutines for this iteration and the increment converges in this iteration ABAQUS may increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT DTIME where the PNEWDT used is the minimum v
45. to instability warning message is printed to the status sta file informing the user that this check is being performed 7 01 Writing User Subroutines with ABAQUS L6 105 ABAQUS HIP Example 6 VUMAT for Kinematic Hardening e Special coding techniques are used to obtain vectorized coding small loops inside the material routine are unrolled The same code is executed regardless of whether the behavior is purely elastic or elastic plastic Special care must be taken to avoid divides by zero No external subroutines are called inside the loop The use of local scalar variables inside the loop 15 allowed The compiler will automatically expand these local scalar variables to local vectors terations should be avoided f iterations cannot be avoided use a fixed number of iterations and do not test on convergence 7 01 Writing User Subroutines with ABAQUS L6 106 7 01 ABAQUS Example 7 VUMAT for Isotropic Hardening Example 7 VUMAT for Isotropic Hardening The governing equations and integration procedure are the same as in Example 5 Isotropic Hardening Plasticity p L6 69 The increment of equivalent plastic strain 15 obtained explicitly through pro 3u cR where is the yield stress and h do dgP is the plastic hardening at the beginning of the increment The Jacobian is not required Writing User Subrout
46. used in USDFLD if f have any history dependence ABAQUS Standard does not store the values of f calculated in USDFLD The SDVs updated in USDFLD are then passed into other user subroutines that can be called at this material point such as those listed 7 01 Writing User Subroutines with ABAQUS L4 13 7 01 ABAQUS ABAQUS Usage in Defining Field Variable Dependent Material Properties p L4 5 The number of state variables is specified with the DEPVAR option ELASTIC DEPENDENCIES 1 Table of modulus values decreasing as a function of field variable 1 2000 0 3 O 1500 0 3 0 1200 0 3 0 USER DEFINED DEPVAR l 0 00 0 01 sy 0 02 1000 0 3 O 0 04 FIELD Writing User Subroutines with ABAQUS L4 14 7 01 ABAQUS User Subroutine GETVRM User Subroutine GETVRM The subroutine GETVRM provides USDFLD with access to the solution data stored in databases during the analysis GETVRM Subroutine Interface CALL GETVRM VAR ARRAY JARRAY FLGRAY JRCD l JMAC JMATYP MATLAYO LACCFLA Variables Provided to GETVRM The variables provided to GETVRM are the output variable key VAR for the desired solution data and JMAC JMATYP MATLAYO LACCFLA these variables are not discussed further in these notes The available output variable keys are listed in the output table in Section 4 2 1 of the ABAQUS Standard User s Manual The variable must b
47. user defined tolerance decrease the force on node C If the spring force drops below the target value by more than a user defined tolerance increase the force on node C The algorithm uses the value of the spring force at the start of the increment Consequently there is no stiffness contribution due to the application of the force on node C 7 01 Writing User Subroutines with ABAQUS 7 55 7 01 ABAQUS Example 2 Force Control Element Element Definition in the Input File The following data lines define the user element in the input file USER ELEMENT TYPE U1 NODES 3 COORD 2 PROPERTIES 5 VARIABLES 3 2 UEL PROPERTY ELSET FEEDBACK 1 E12 7 5E4 1 0E5 0 04 0 04 ELEMENT TYPE U1 ELSET FEEDBACK 1001 200 500 300 Five property values are specified the spring stiffness the target value of the punch force the initial force on the blank holder the allowable fractional change in holder force and the punch force tolerance Three state variables are stored the punch force the blank holder force and the maximum punch force during the load history The first and the last nodes are the rigid body reference nodes of the punch and blank holder respectively Writing User Subroutines with ABAQUS L7 56 7 01 ABAQUS 1111111111 Example 2 Force Control Element Coding for Force Control Element Example c c Blankholder force control element for deep drawing applications c subrou
48. 1 5 7 01 ABAQUS ND Where User Subroutines Fit into ABAQUS Standard Where User Subroutines Fit into ABAQUS Standard While a complete understanding of the structure of ABAQUS 15 not required to develop a user subroutine it helps if the developer has an understanding of at least the overall structure Figure 1 1 shows the basic flow of data and actions from the start of an ABAQUS Standard analysis to the end of a step Figure 1 2 shows a much more detailed accounting of how ABAQUS Standard calculates the element stiffness during an iteration In the figures a C 2 signifies a decision point in the code a specific state 1 e beginning of increment during the analysis A signifies an action that is taken during the analysis Writing User Subroutines with ABAQUS L1 6 ABAQUS DE Where User Subroutines Fit into ABAQUS Standard Beginning of Analysis UEXTERNALDB gt Define Initial Conditions _ UPOREP Y C Start of Step b Y C Start of Increment P UEXTERNALDB gt Start of Iteration CREEP FRIC UEL Define K lt UEXPAN UGENS UMAT USDFLD pem Define Loads R UWAVE 7 01 Writing User Subroutines with ABAQUS L1 7 ABAQUS DE Where User Subroutines Fit into ABAQUS Standard To Start of To Start of Iteration To Start of Increment 4 Step 4 Solv
49. 2 DS3 2 TWO S4 2 Writing User Subroutines with ABAQUS L6 101 7 01 ABAQUS HII Example 6 VUMAT for Kinematic Hardening Check for yield by determining the factor for plasticity zero for elastic one for yield RADIUS 1 YIELD FACYLD ZERO IF DSMAG RADIUS GE ZERO FACYLD ONE Add a protective addition factor to prevent a divide by zero when DSMAG is zero If DSMAG is zero we will not have exceeded the yield stress and FACYLD will be zero DSMAG DSMAG ONE FACYLD Calculated increment in gamma this explicitly includes the time step DIFF DSMAG RADIUS DGAMMA FACYLD TERM DIFF Update equivalent plastic strain DEQPS 1 DGAMMA STATENEW I 5 STATEOLD I 5 DEQPS Divide DGAMMA by DSMAG so that the deviatoric stresses are explicitly converted to tensors of unit magnitude in the following calculations DGAMMA DGAMMA DSMAG Update back stress FACTOR HARD DGAMMA TWO THIRDS STATENEW I 1 STATEOLD I 1 FACTOR DS1 STATENEW I 2 STATEOLD I 2 FACTOR DS2 STATENEW I 3 STATEOLD I 3 FACTOR DS3 STATENEW I 4 STATEOLD I 4 FACTOR S4 Writing User Subroutines with ABAQUS L6 102 7 01 ABAQUS Example 6 VUMAT for Kinematic Hardening C Update stress FACTOR TWOMU DGAMMA STRESSNEW I 1 5 FACTOR STRESSNEW I 2 SIG2 FACTOR STRESSNEW I 3 SIG3 FACTOR STRESSNEW I 4 SIG4 FACTOR C Update the speci
50. 2 b 2 6 two six g 1 b 2 7 zero Writing User Subroutines with ABAQUS L7 42 7 01 ABAQUS 1111111111 c calculate Example 1 Planar Beam Element with Nonlinear Section Behavior incremental strains and curvatures eps zero deps zero cap zero dcap zero do k 1 7 eps eps b 1 u k deps deps b 1 k du k 1 cap cap b 2 u k dcap dcap b 2 k du k 1 end do call constitutive routine ugenb isvint 1 kintk 1 nsvint bn zero bm zero daxial zero dbend zero dcoupl zero call ugenb bn bm daxial dbend dcoupl eps deps svars isvint nsvint props nprops Writing User Subroutines with ABAQUS cap dcap L7 43 ABAQUS 1111111111 7 01 Example 1 Planar Beam Element with Nonlinear Section Behavior assemble rhs and lhs do 1 1 7 rhs k1 1 rhs k1 1 hdl bn b 1 k1 bm b 2 k1 bdl hdl daxial b 1 k1 dcoupl b 2 k1 bd2 hdl dcoupl b 1 k1 dbend b 2 k1 do k2 1 7 amatrx k1 k2 amatrx k1 k2 bd1 b 1 k2 bd2 b 2 k2 end do end do end do return Writing User Subroutines with ABAQUS L7 44 7 01 ABAQUS HB Example 1 Planar Beam Element with Nonlinear Section Behavior Remarks This UEL uses essentially the same formulation as the simple B23 element for geometrically linear analysis The routine can be used with and without the TRANSFORM option It would be relatively straightforward to genera
51. 36 7D3 PARAMETER SC 15 5D3 G12 1 01D6 ALPHA 0 8D 14 C CHARACTER 80 CMNAME ORNAME CHARACTER 8 FLGRAY 15 DIMENSION FIELD NFIELD STATEV NSTATV DIRECT 3 3 DIMENSION T 3 3 TIME 2 ARRAY 15 JARRAY 15 DIMENSION COORD JMAC JMATYP C INITIALIZE FAILURE FLAGS FROM STATEV EM STATEV 1 EFS STATEV 2 DAMAGE STATEV 3 Writing User Subroutines with ABAQUS L4 41 ABAQUS Example Laminated Composite Plate Failure C GET STRESSES FROM PREVIOUS INCREMENT CALL GETVRM S ARRAY JARRAY FLGRAY JRCD 1 JMAC JMATYP MATLAYO LACCFLA S11 ARRAY 1 S22 ARRAY 2 S12 ARRAY 4 CALL GETVRM E ARRAY JARRAY FLGRAY JRCD 1 JMAC JMATYP MATLAYO LACCFLA E12 ARRAY 4 C C DAMAGE INDEX 0 IF NO STRAIN TO PREVENT DIVIDE BY ZERO C IF E12 NE 0 THEN DAMAGE 3 D0 ALPHA G12 S12 2 amp 2 DO ALPHA S12 3 E12 amp 1 D0 3 D0 ALPHA G12 S12 2 ELSE DAMAGE 0 0 ENDIF 7 01 Writing User Subroutines with ABAQUS L4 42 7 01 ABAQUS 1111111111 C C MATR Example Laminated Composite Plate Failure Fl F2 S12 2 2 D0 G12 0 75DO ALPHA S12 4 SC 2 2 D0 G12 0 75DO ALPHA SC 4 IX TENSILE COMPRESSIVE FAILURE IF EM LT 1 D0 THEN IF S22 LT 0 D0 THEN EM SQRT S22 YC 2 F1 F2 ELSE EM SQRT S22 YT 2 F1 F2 ENDIF STATEV 1 EM ENDIF Value of matrix failure modes is stored as solution dependent state vari
52. 6 VUMAT for Kinematic Hardening C initial elastic modulus C IF STEPTIME EQ ZERO THEN C DO I 1 NBLOCK C C Trial Stress TRACE STRAININC I 1 STRAININC I 2 STRAININC I STRESSNEW I 1 STRESSNEW I 1 STRESSNEW I 1 STRESSNEW I 1 END DO ELSE 1 STRESSOLD I 1 ALAMDA TRACE TWOMU STRAININC I 1 2 STRESSOLD I 2 ALAMDA TRACE TWOMU STRAININC I 2 3 STRESSOLD I 3 ALAMDA TRACE TWOMU STRAININC I 3 4 STRESSOLD I 4 TWOMU STRAININC I 4 Writing User Subroutines with ABAQUS assume the material pure elastic and use 3 L6 100 7 01 ABAQUS Example 6 VUMAT for Kinematic Hardening C PLASTICITY CALCULATIONS IN BLOCK FORM DO I 1 NBLOCK C Elastic predictor stress TRACE STRAININC I 1 STRAININC I 2 STRAININC I 3 SIG1 STRESSOLD I 1 ALAMDA TRACE TWOMU STRAININC I 1 SIG2 STRESSOLD I 2 ALAMDA TRACE TWOMU STRAININC I 2 SIG3 STRESSOLD I 3 ALAMDA TRACE TWOMU STRAININC I 3 SIG4 STRESSOLD I 4 TWOMU STRAININC I 4 C Elastic predictor stress measured from the back stress 51 SIG1 STATEOLD I 1 S2 SIG2 STATEOLD I 2 53 SIG3 STATEOLD I 3 S4 SIG4 STATEOLD I 4 Deviatoric part of predictor stress measured from the back stress SMEAN THIRD S1 S2 S3 DS1 S1 SMEAN DS2 S2 SMEAN DS3 S3 SMEAN C Magnitude of the deviatoric predictor stress difference DSMAG SQRT DS1 2 DS2
53. 7 01 Writing User Subroutines with ABAQUS L6 14 ABAQUS Steps Required in Writing a UMAT or VUMAT e Calculation of the consistent Jacobian required for ABAQUS Standard UMAT only For small deformation problems e g linear elasticity or large deformation problems with small volume changes e g metal plasticity the consistent Jacobian is where Ao is the increment in Cauchy stress and Ae is the increment in strain In finite strain problems is an approximation to the logarithmic strain This matrix may be nonsymmetric as a result of the constitutive equation or integration procedure The Jacobian is often approximated such that a loss of quadratic convergence may occur 7 01 Writing User Subroutines with ABAQUS L6 15 IHE Steps Required in Writing a UMAT or VUMAT It is easily calculated for forward integration methods usually the elasticity matrix If large deformations with large volume changes are considered e g pressure dependent plasticity the exact form of the consistent Jacobian _ 19A JO J should be used to ensure rapid convergence Here J is the determinant of the deformation gradient C 7 01 Writing User Subroutines with ABAQUS L6 16 ABAQUS Steps Required in Writing a UMAT or VUMAT Hyperelastic constitutive equations Total form constitutive equations relating the Cauchy stress and the deformation grad
54. ABAQUS PPP 71111 CONTENTS Lecture 1 Introduction Overview of Some User L1 2 Where User Subroutines Fit into ABAQUS Standard L1 6 User Subroutine Calls in the First Iteration L1 10 Including User Subroutines in Model L1 11 Using Multiple User Subroutines in a Model 11 12 Restart Analyses L1 12 Writing Output from User Subroutines L1 13 Path Names for External Files 1 14 Compiling and Linking User Subroutines 11 15 FORTRAN Compiler Levels LL17 Debugging Techniques and Proper Programming Habits 11 18 Required FORTRAN Statements L1 18 Naming Conventions 11 20 Subroutine Argument 1548 L1 20 Solution Dependent State L1 21 deste SUCSESUIONS Bae a aes L1 24 Lecture 2 User Subroutine DLOAD Introduction L2 2 ABAQUS L2 3 DLOAD VWs UBL 1 2 4 DLOAD Subroutine Interface L2 5 Variables to be Denne ii ERR aos L2 6 Variables for Information Only L2 6 E
55. ASTIC option with temperature dependence The routine is written in incremental form which allows generalization to more complex temperature dependence 7 01 Writing User Subroutines with ABAQUS L6 43 Example 3 Neo Hookean Hyperelasticity Example 3 Neo Hookean Hyperelasticity Governing Equations The ELASTIC option does not work well for finite elastic strains because a proper finite strain energy function is not defined Hence we define a proper strain energy density function U Uds LJ Cd 3 5 1 Here and J are the three strain invariants expressed in terms of the left Cauchy Green tensor B I 1 Ser B J det E 7 01 Writing User Subroutines with ABAQUS L6 44 ABAQUS 1771117111 Example 3 Neo Hookean Hyperelasticity n actuality we use the deviatoric invariants and 1 see Section 4 6 1 of the ABAQUS Theory Manual for more information The constitutive equation can be written directly in terms of the deformation gradient 2 zn We define the virtual rate of deformation as 6D SF mj mi mm The Kirchhoff stress is defined through J Oi 7 01 Writing User Subroutines with ABAQUS L6 45 ABAQUS Example 3 Neo Hookean Hyperelasticity The material Jacobian derives from the variation in Kirchhoff stress where are the components of the Jacobian Using the Neo Hookean model
56. Analysis of Laminated Composites R M HajAli D A Pecknold and M F Ahmad ABAQUS Users Conference Proceedings 1993 190 010 gt 0 90 45 45 045 7 45100 linear material Hydrostatic Pressure p psi nonlinear material Structure Finite 1 imperfection Element 4 po i 0 5 0 0 95 10 Axial Displacement U t Sublaminate Model Hy dS gt A 1n 0 75 0 51 3 a Tension in 0 layer 7 01 Writing User Subroutines with ABAQUS L6 9 ABAQUS Motivation Deformation Processing of Metal Powders Cold and Hot Isostatic Pressing R M Govindarajan and N Aravas private communication 1993 Copper canister Titanium powder 9 om FE pst 11x 9 161 x 10 psi 255197 6x 167 A 125 x 16 wow ow wo wow wv v Y vw Y Y Y SSS SASS SASS SASS SSNS 9 9 9 7 01 Writing User Subroutines with ABAQUS L6 10 Motivation ABAQUS Macroscopic Shape Change and Evolution of Crystallographic Texture in Pre textured FCC Metals S Kalidindi and Anand Acta Metallurgica 1993 12 7 mm ED 127m Experimental Deformed Mesh b 7 01 Writing User Subroutines with ABAQUS L6 11 ABAQUS Steps Required in Writi
57. C UMAT FOR ISOTROPIC ELASTICITY C CANNOT BE USED FOR PLANE STRESS p uel Ee mem IE e EE n ELE C PROPS 1 E C PROPS 2 NU Sa cet talc eiu Fu mI EU C IF NDI NE 3 THEN WRITE 7 THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS CALL XIT ENDIF C C ELASTIC PROPERTIES EMOD PROPS 1 ENU PROPS 2 EBULK3 EMOD ONE TWO ENU EG2 EMOD ONE ENU EG EG2 TWO EG3 THREE EG ELAM EBULK3 EG2 THREE 7 01 Writing User Subroutines with ABAQUS L6 34 7 01 ABAQUS a ELASTIC STIFFNESS DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 ELAM END DO DDSDDE K1 K1 EG2 ELAM END DO DO K1i NDI 1 NTENS DDSDDE K1 K1 EG END DO CALCULATE STRESS DO 1 1 NTENS DO K2 1 NTENS STRESS K2 STRESS K2 DDSDDE K2 K1 DSTRAN K1 END DO END DO RETURN END Writing User Subroutines with ABAQUS Example 1 Isotropic Isothermal Elasticity L6 35 ABAQUS f Example 1 Isotropic Isothermal Elasticity Remarks This very simple UMAT yields exactly the same results as the ABAQUS ELASTIC option This is true even for large strain calculations all necessary large strain contributions are generated by ABAQUS The routine can be used with and without the ORIENTATION option tis usually straightforward to write a single routine that handles generalized plane strain axisymmetric and three
58. E PROPS 3 DETERMINE IF ACTIVELY YIELDING IF SMISES GT ONE TOLER SYIELO THEN ACTIVELY YIELDING SEPARATE THE HYDROSTATIC FROM THE DEVIATORIC STRESS CALCULATE THE FLOW DIRECTION SHYDRO STRESS 1 STRESS 2 STRESS 3 THREE DO K1 1 NDI FLOW K1 STRESS K1 SHYDRO SMISES END DO DO K1 NDI 1 NTENS FLOW K1 STRESS K1 SMISES END DO Writing User Subroutines with ABAQUS L6 76 7 01 C C C aa ABAQUS ini Bii Example 5 Isotropic Hardening Plasticity SOLVE FOR EQUIVALENT VON MISES STRESS AND EQUIVALENT PLASTIC STRAIN INCREMENT USING NEWTON ITERATION SYIELD SYIELO DEQPL ZERO DO KEWTON 1 NEWTON RHS SMISES EG3 DEQPL SYIELD DEQPL DEQPL RHS EG3 HARD 1 CALL UHARD SYIELD HARD EQPLAS DEQPL EQPLASRT TIME DTIME TEMP 1 DTEMP NOEL NPT LAYER KSPT KSTEP KINC CMNAME NSTATV 2 STATEV NUMFIELDV PREDEF DPRED NVALUE PROPS 3 IF ABS RHS LT TOLER SYIELO GOTO 10 END DO WRITE WARNING MESSAGE TO THE MSG FILE WRITE 7 2 NEWTON 2 FORMAT 30X WARNING PLASTICITY ALGORITHM DID NOT 1 CONVERGE AFTER 13 ITERATIONS 10 CONTINUE Writing User Subroutines with ABAQUS 6 77 Example 5 Isotropic Hardening Plasticity ABAQUS HIP UPDATE STRESS ELASTIC AND PLASTIC STRAINS AND EQUIVALENT PLASTIC STRAIN NAAA DO K1 1 NDI STRESS K1 FLOW K1 SYIELD SHYDRO EPLAS K1 EPLAS K1 THREE TWO FLOW K1 DEQPL EELAS K1 EELAS K1 THREE
59. Elasticity el el or in a Jaumann corotational rate form E el el Oi NO 2UE The Jaumann rate equation is integrated in a corotational framework Ao AE 2uAe 7 01 Writing User Subroutines with ABAQUS L6 69 ABAQUS Plasticity Yield function 3 2 Bquivalent plastic strain t di 0 Plastic flow law Example 5 Isotropic Hardening Plasticity 1 5 Ojj 300 P MER Sep ep 7 01 Writing User Subroutines with ABAQUS L6 70 ABAQUS Example 5 Isotropic Hardening Plasticity Integration Procedure We first calculate the von Mises stress based on purely elastic behavior elastic predictor cy pr 3 r r r 55 SP Spr S 2uAe 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 G r 31A amp o P This equation is solved with Newton s method 7 01 Writing User Subroutines with ABAQUS L6 71 ABAQUS Example 5 Isotropic Hardening Plasticity After the equation is solved the following update equations for the stress and the plastic strain can be used l 3 aa O TjO 3 ij OLE 511 Ae n 5077 0
60. Loading The problem models the viscoelastic response in rocket propellent as the transient pressure load due to rocket ignition is applied to the inner diameter of the rocket motor The transient pressure load is an exponential function of time p 10 1 7 y MPa The rocket motor is modeled with a single row of 21 elements The model is fully described in Problem 2 2 7 of the ABAQUS Verification Manual 7 01 Writing User Subroutines with ABAQUS L2 8 ABAQUS Example Transient Internal Pressure Loading Partial Input Data HEADING BOUNDARY ALL 2 STEP INC 50 VISCO CETOL 7 E 3 0 01 0 5 DLOAD l P4NU Apply nonuniform DLOAD to face 4 of element 1 END STEP 7 01 Writing User Subroutines with ABAQUS L2 9 7 01 ABAQUS Example Transient Internal Pressure Loading User Subroutine a SUBROUTINE DLOAD F KSTEP KINC TIME NOEL NPT l LAYER KSPT COORDS JLTYP SNAME EXPONENTIAL PRESSURE LOAD INCLUDE ABA PARAM INC DIMENSION COORDS 3 TIME 2 CHARACTER 80 SNAME DATA TEN ONE CONST 10 1 23 03 F TEN ONE EXP CONST TIME 1 IF NPT EQ 1 WRITE 6 LOAD APPLIED F AT 1 RETURN END Writing User Subroutines with ABAQUS L2 10 ABAQUS HB Example Transient Internal Pressure Loading Remarks The load in this model is defined as a function of step time time 1 The load 15 applied only to the one elem
61. M Writing User Subroutines with ABAQUS L3 1 ABAQUS 1771117111 Introduction Introduction User subroutine FILM is typically used when either the film coefficient h or sink temperature 0 isa complex function of time position and or surface temperature h and that are simple functions of time usually can be modeled with the AMPLITUDE option The subroutine can also be used to define a load that varies with element number and or integration point number 7 01 Writing User Subroutines with ABAQUS L3 2 ABAQUS ABAQUS Usage ABAQUS Usage The subroutine 15 called when the FILM or SFILM options contain a nonuniform load type label or when the USER parameter is used with the CFILM option Load type label For example 9 FILM ELLEFT F6NU 10 0 1500 h specifies that the elements in element set ELLEFT will be subject to a film load convection boundary condition on face six 6 of solid continuum heat transfer elements The variable 1 will be passed into the routine with the value of h specified on the data line of the FILM option The variable SINK will be passed into the routine with the value of 0 specified on the data line of the FILM option 7 01 Writing User Subroutines with ABAQUS L3 3 FILM Subroutine Interface ABAQUS 1111111111 FILM Subroutine Interface The interface to user subroutine FILM is SUBROUTINE FILM H SINK TEMP KSTEP KINC
62. NATES AS DEFLECTION amp OF NODE 63 EXCEEDS 2X E9 3 END 7 01 Writing User Subroutines with ABAQUS L5 20 ABAQUS Example Using URDFIL to Terminate an Analysis Remarks The analysis terminates when only 12 346 of the defined load is applied to the model because the tolerance for Mises stress was exceeded in element 1 NOTE ANALYSIS TERMINATES MISES STRESS EXCEEDS 0 500 09 IN ELEMENT 1 AT INT PT 1 7 01 Writing User Subroutines with ABAQUS L5 21 7 01 ABAQUS Lecture 6 Writing a UMAT or VUMAT Overview Motivation e Steps Required in Writing a UMAT or VUMAT UMAT Interface Examples e VUMAT Interface Examples Writing User Subroutines with ABAQUS L6 1 ABAQUS Overview Overview e ABAQUS Standard and ABAQUS Explicit have interfaces that allow the user to implement general constitutive equations In ABAQUS Standard the user defined material model is implemented in user subroutine UMAT In ABAQUS Explicit the user defined material model is implemented in user subroutine VUMAT Use UMAT and VUMAT when none of the existing material models included in the ABAQUS material library accurately represents the behavior of the material to be modeled 7 01 Writing User Subroutines with ABAQUS L6 2 7 01 ABAQUS Overview These interfaces make it possible to define any proprietary constitutive model of arbitrary complexity User defined material models c
63. New k enerInelasOld k plasticWorkInc density k end do end if C return end 7 01 Writing User Subroutines with ABAQUS L6 114 7 01 ABAQUS 1111111111 subroutine vuhard syield hard eqplas table nvalue include vaba param inc dimension table 2 nvalue parameter zero 0 d0 set yield stress to last value of table hardening to zero syield table 1 nvalue hard zero if more than one entry search table if nvalue gt 1 then do 1 1 nvalue 1 eqpll table 2 k1 1 if eqplas lt eqpl1 then eqpl0 table 2 k1 yield stress and hardening deqpl eqpll eqpl0 syiel0 table 1 k1 Writing User Subroutines with ABAQUS Example 7 VUMAT for Isotropic Hardening L6 115 Example 7 VUMAT for Isotropic Hardening syiell table 1 k1 1 dsyiel syiell syiel0d hard dsyiel degpl syield syiel0 eqplas eqpl10 goto 10 endif end do 10 continue endif return end 7 01 Writing User Subroutines with ABAQUS L6 116 ABAQUS HB Example 7 VUMAT for Isotropic Hardening Remarks This VUMAT yields 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 routine calls user subroutine VUHARD to recover a piecewise linear hardening curve It is straightforward to replace the piecewise linear curve by an analytic descr
64. P4NU OUTWALL P2NU END STEP 7 01 Writing User Subroutines with ABAQUS L2 14 7 01 ABAQUS Example Asymmetric Pressure Loads User Subroutine SUBROUTINE DLOAD F KSTEP KINC TIME NOEL NPT 1 LAYER KSPT COORDS JLTYP SNAME INCLUDE ABA PARAM INC DIMENSION COORDS 3 CHARACTER 80 SNAME C NOTE THAT COORDS 3 IS THE ANGULAR COORD IN DEGREES PI 2 ASIN 1 D0 THETA PI COORDS 3 180 D0 P 0 IF JLTYP EQ 22 P 10 D3 Test for load type P4NU IF JLTYP EQ 24 P 30 D3 F P COS THETA RETURN END Test for load type P2NU Writing User Subroutines with ABAQUS L2 15 ABAQUS HB Example Asymmetric Pressure Loads Remarks In this model subroutine DLOAD 15 used to define two different nonuniform distributed pressure loads In this model the load type label clearly determined which pressure distribution should be used In a different model perhaps the element number NOEL or radial position COORDS 1 would have to be used to identify which distribution to define What are some of the methods that could be used to allow the subroutine to define pressure distributions with different values of p on the inner and outer radii 7 01 Writing User Subroutines with ABAQUS L2 16 7 01 ABAQUS Lecture 3 User Subroutine FILM Overview Introduction ABAQUS Usage FILM Subroutine Interface Example Radiation in Finned Surface Workshop User Subroutine FIL
65. Plasticity Governing Equations Integration Procedure 2 2 524 eweee 0 bI eas Coding for Kinematic Hardening Plasticity 5 drea ard Example 5 Isotropic Hardening Plasticity Governing Eguatons ss 24024444 RR CRF ae Rh Integration PrOCedUfe 4 ssa ere se ooo rad Coding for Isotropic Mises Plasticity Writing User Subroutines with ABAQUS TOC 4 ABAQUS 3222877111 1 6 83 VUMAT Intetfdb B aco vici e 6 85 VUMAT Variables beeen REA E 16 90 Comparison of VUMAT and UMAT Interfaces L6 92 VUMAT Conventions L6 94 VUMAT Formulation Aspects L6 96 Example 6 VUMAT for Kinematic Hardening L6 98 Coding for Kinematic Hardening Plasticity VUMAT L6 99 REMIR usui sd 3 599 3 8 dubi ds qi dior L6 105 Example 7 VUMAT for Isotropic Hardening L6 107 Coding for Isotropic Hardening Plasticity VUMAT L6 108 No npo CRM L6 117 Lecture 7 Creating a Nonlinear User Element Quad a ee ed L7 2 IV EOE Pm 723 Defining a User Element 17 8 Key Characteristics of a User Element L7 8 Other Important Element Properti
66. ROPERTIES Number of integer properties VARIABLES Number of SDVs UNSYMM Flag to indicate that the Jacobian is unsymmetric 7 01 Writing User Subroutines with ABAQUS L7 14 ABAQUS UEL Interface Data Lines A data line of the form dof l dof 2 where dof 116 the first degree of freedom active at the node and dof 21s the second degree of freedom active at the node etc follows the USER ELEMENT option If all nodes of the user element have the same active degrees of freedom no further data are needed 7 01 Writing User Subroutines with ABAQUS L7 15 7 01 UEL Interface ABAQUS However if some nodes have different active degrees of freedom enter subsequent data lines of the form position dof l dof 2 where position is the local node number position on the element dof lis the first degree of freedom active at this and following nodes and dof 21s the second degree of freedom active at this and following nodes etc The active degrees of freedom can be changed at any node in the element Writing User Subroutines with ABAQUS L7 16 ABAQUS UEL Interface The dimensional units of a degree of freedom for a user element are the same as those for regular elements in ABAQUS 1 3 are displacements 4 6 are rotations etc This correspondence is important for convergence controls in nonlinear analysis tis also relevant for three dimensional rotations in geometric nonlinear analy
67. S 1771117111 Example Laminated Composite Plate Failure n this example the only significant nonlinearity in the model is failure of the composite material Hence fixed time incrementation can be used effectively However the results of this analysis are highly sensitive to the size of the time increment The time increment used in the model shown At 0 05 1s close to the largest allowable value see Figure 4 4 and Figure 4 5 f other nonlinearities were present in the analysis the automatic time incrementation algorithm would likely be needed In those types of analyses the variable PNEWDT would have to be used in user subroutine USDFLD to help control the size of the time increment 7 01 Writing User Subroutines with ABAQUS L4 50 ABAQUS 2121117111 Example Laminated Composite Plate Failure X X 25 1000 15 1000 e T05 1000 2 5 N ag 2 0 U U 5 xD 0 000 00 s XMAX 2 409 02 YMIN 0 000E 00 YMAX 3 409E 03 E 0 4 8 is 16 20 24 DISPLACEMENT 02 x10 4 Figure 4 4 Force Deflection Curves for Analyses with At 0 05 At 0 15 and At 0 25 7 01 Writing User Subroutines with ABAQUS L4 51 ABAQUS Example Laminated Composite Plate Failure Figure 4 5 Extent of Material Damage in Analysis with A 0 25 7 01 Writing User Subroutines with ABAQUS L4 52 ABAQUS
68. S Standard Some popular user subroutines include CREEP Use this subroutine to define time dependent viscoplastic deformation in a material The deformation is divided into deviatoric behavior creep and volumetric behavior swelling DLOAD Use this subroutine to define nonuniform distributed mechanical loads pressures and body forces 7 01 Writing User Subroutines with ABAQUS L1 2 7 01 ABAQUS c 1 Overview of Some User Subroutines FILM Use this subroutine to describe complex film coefficient behavior temperature and field variable dependence and complex sink temperature behavior FRIC Use this subroutine when more complex models than those provided with the FRICTION option are needed to describe the transmission of shear forces between surfaces The models defined in this subroutine must be local models information is provided only at the node making contact HETVAL Use this subroutine to define complex models for internal heat generation in a material such as might occur when the material undergoes a phase change UEL Use this subroutine when it is necessary to create elements with an element formulation that is not available in ABAQUS Standard Writing User Subroutines with ABAQUS L1 3 7 01 ABAQUS c 1 Overview of Some User Subroutines UEXPAN Use this subroutine to define incremental thermal strains when the material s thermal expansion is too complex to model with the EXPANSION option UEX
69. SOLUTION TECHNIQUE REFORM KERNELz nis the number of iterations done without reassembly This does not offer advantages if other nonlinearities such as contact changes are present 7 01 Writing User Subroutines with ABAQUS L6 22 ABAQUS UMAT Interface Solution dependent state variables can be output with identifiers SDV 1 SDV2 etc Contour path and X Y plots of SDVs can be plotted in ABAQUS Viewer nclude only a single UMAT subroutine in the analysis If more than one material must be defined test on the material name in UMAT and branch 7 01 Writing User Subroutines with ABAQUS L6 23 7 01 ABAQUS UMAT Interface The UMAT subroutine header is shown below SUBROUTINE UMAT STRESS STATEV DDSDDE SSE SPD SCD RPL 1 DDSDDT DRPLDE DRPLDT STRAN DSTRAN TIME DTIME TEMP DTEMP 2 PREDEF DPRED CMNAME NDI NSHR NTENS NSTATV PROPS NPROPS 3 COORDS DROT PNEWDT CELENT DFGRDO DFGRD1 NOEL NPT LAYER 4 KSPT KSTEP KINC INCLUDE ABA PARAM INC CHARACTER 8 CMNAME DIMENSION STRESS NTENS STATEV NSTATV DDSDDE NTENS NTENS 1 DDSDDT NTENS DRPLDE NTENS STRAN NTENS DSTRAN NTENS 2 PREDEF 1 DPRED 1 PROPS NPROPS COORDS 3 DROT 3 3 3 DFGRDO 3 3 DFGRD1 3 3 The include statement sets the proper precision for floating point variables REAL 8 on most machines The material name CMNAME is an 8 byte character variable Writing User Subroutines w
70. TERNALDB Use this subroutine to help manage external databases that may be used by other user subroutine or other software programs that are providing ABAQUS data and or using data generated by ABAQUS UGENS Use this subroutine to define complex nonlinear mechanical behavior for shell elements directly in terms of the shell element s section stiffness UMAT Use this subroutine to define any complex constitutive models for materials that cannot be modeled with the available ABAQUS material models Writing User Subroutines with ABAQUS L1 4 7 01 ABAQUS c 1 Overview of Some User Subroutines UPOREP Use this subroutine to define the initial pore fluid pressures in a coupled pore fluid diffusion and stress analysis as a function of node location URDFIL Use this subroutine to read the data from the results 11 file at the end of an increment The information can be used to make decisions such as when to terminate the analysis or whether to overwrite the results of the previous increment USDFLD Use this subroutine to define the values of field variables directly at the integration points of elements The field variable values can be functions of element variables such as stress or strain UWAVE Use this user subroutine to define complex wave kinematics in an ABAQUS Aqua simulation or to determine when the configuration of the model should be updated in a stochastic wave analysis Writing User Subroutines with ABAQUS L
71. TIME l NOEL NPT COORDS JLTYP FIELD NFIELD SNAME 2 NODE AREA INCLUDE ABA PARAM INC DIMENSION 2 2 COORDS 3 FIELD NFIELD CHARACTER 80 SNAME user coding to define H 1 H 2 and SINK RETURN END 7 01 Writing User Subroutines with ABAQUS L3 4 ABAQUS HIP FILM Subroutine Interface Variables to be Defined The user has to define the following variables e H 1 The film h at this surface point Its units are JT LO H 2 The rate of change of the film coefficient with 2 to the surface temperature at this point o Its units are JT L 0 The rate of convergence during d solution of the nonlinear equations in an increment is improved by defining this value especially when the film coefficient 15 a strong function of surface temperature TEMP SINK the sink temperature 7 01 Writing User Subroutines with ABAQUS L3 5 ABAQUS FILM Subroutine Interface Variables for Information Only 7 01 The estimated surface temperature at this time at this point TEMP The step KSTEP and increment number KINC in which the routine is being called The current value of the step TIME 1 and the total time TIME 2 The element number NOEL and integration point number NPT The coordinates of the integration point COORDS These are the current coordinates if the STEP NLGEOM option is used in this or a previous step Writing User Subroutines wit
72. TOPF4 F4NU element sets TOPF2 F2NU END STEP 7 01 Writing User Subroutines with ABAQUS L3 12 7 01 ABAQUS HH Example Radiation in Finned Surface User Subroutine subroutine film h sink temp jstep jinc time 1 noel npt coords jltyp field nfield sname node area c include aba param inc dimension h 2 coords 3 time 2 field nfield character 80 sname parameter two 2 0d0 third 1 0d0 3 0d0 c h 1 0 040 Test to see if the elements are in 204066 element set 1 sink 0 0d0 a2 1 0d0 if noel le 11 then sink 100 d0 al sign a2 temp sink h 1 500 0d0 abs temp sink third Writing User Subroutines with ABAQUS L3 13 ABAQUS Example Radiation in Finned Surface h 2 al third 500 0d0 1 abs temp sink two third else if jstep eq l or jstep eq 3 then sink 38 d0 al sign a2 temp sink h 1 2 0d0 abs temp sink third h 2 al third 2 0d0 1 abs temp sink two third else sink 800 A h and fluid temperature 6 for the h 1 10 0d0 fire event end if return If the first condition is not satisfied the element end must be on the finned surface The A 0 for 7 01 these elements varies from step to step Writing User Subroutines with ABAQUS L3 14 7 01 ABAQUS HB Example Radiation in Finned Surface Remarks It can be helpful to define constants in this example 2 0 and 0 333 a
73. U EG2 EMOD ONE ENU EG EG2 TWO ELAM EBULK3 EG2 THREE Writing User Subroutines with ABAQUS Example 2 Non Isothermal Elasticity L6 40 Example 2 Non Isothermal Elasticity ABAQUS 1771117111 C C ELASTIC STIFFNESS AT END OF INCREMENT AND STIFFNESS CHANGE C DO K1 1 NDI DO K2 1 NDI DDSDDE K2 K1 ELAM DELDSE K2 K1 ELAM ELAMO END DO DDSDDE K1 K1 EG2 ELAM DELDSE K1 K1 EG2 ELAM EG2 0 ELAMO END DO DO K1 NDI 1 NTENS DDSDDE K1 K1 EG DELDSE 1 1 EG EGO END DO C C CALCULATE THERMAL EXPANSION DO K1 1 NDI ETHERM K1 PROPS 7 TEMP PROPS 8 DTHERM K1 PROPS 7 DTEMP END DO 7 01 Writing User Subroutines with ABAQUS L6 41 Example 2 Non Isothermal Elasticity ABAQUS DO K1zNDI 1 NTENS ETHERM K1 ZERO DTHERM K1 ZERO END DO C C CALCULATE STRESS ELASTIC STRAIN AND THERMAL STRAIN C DO K1 1 NTENS DO K2 1 NTENS STRESS K2 STRESS K2 DDSDDE K2 K1 DSTRAN K1 DTHERM K1 1 DELDSE K2 K1 STRAN K1 ETHERM K1 END DO ETHERM K1 ETHERM K1 DTHERM K1 EELAS 1 STRAN K1 DSTRAN K1 ETHERM K1 END DO C C STORE ELASTIC AND THERMAL STRAINS IN STATE VARIABLE ARRAY DO K1 1 NTENS STATEV K1 EELAS K1 STATEV K1 NTENS ETHERM K1 END DO RETURN END 7 01 Writing User Subroutines with ABAQUS L6 42 ABAQUS HB Example 2 Non Isothermal Elasticity Remarks This UMAT yields exactly the same results as the EL
74. UIVALENT VON MISES STRESS C SMISES STRESS 1 ALPHA 1 STRESS 2 ALPHA 2 2 1 STRESS 2 ALPHA 2 STRESS 3 ALPHA 3 2 2 STRESS 3 ALPHA 3 STRESS 1 ALPHA 1 2 DO K1 NDI 1 NTENS SMISES SMISES SIX STRESS K1 ALPHA K1 2 END DO SMISES SQRT SMISES TWO C C GET YIELD STRESS AND HARDENING MODULUS C SYIELD PROPS 3 HARD PROPS 4 DETERMINE IF ACTIVELY YIELDING C IF SMISES GT ONE TOLER SYIELD THEN C C ACTIVELY YIELDING 7 01 Writing User Subroutines with ABAQUS L6 61 ABAQUS Ki ini Bii Example 4 Kinematic Hardening Plasticity C SEPARATE THE HYDROSTATIC FROM THE DEVIATORIC STRESS C CALCULATE THE FLOW DIRECTION C SHYDRO STRESS 1 STRESS 2 STRESS 3 THREE DO K1 1 NDI FLOW K1 STRESS K1 ALPHA K1 SHYDRO SMISES END DO DO K1 NDI 1 NTENS FLOW K1 STRESS K1 ALPHA K1 SMISES END DO C C SOLVE FOR EQUIVALENT PLASTIC STRAIN INCREMENT C DEQPL SMISES SYIELD EG3 HARD 7 01 Writing User Subroutines with ABAQUS L6 62 ABAQUS Ki ini Example 4 Kinematic Hardening Plasticity C UPDATE SHIFT TENSOR ELASTIC AND PLASTIC STRAINS AND STRESS DO K1 1 NDI ALPHA K1 ALPHA K1 HARD FLOW K1 DEQPL EPLAS K1 EPLAS K1 THREE TWO FLOW K1 DEQPL EELAS K1 EELAS K1 THREE TWO FLOW K1 DEQPL STRESS K1 ALPHA K1 FLOW K1 SYIELD SHYDRO END DO DO K1 NDI 1 NTENS ALPHA K1 ALPHA K1 HARD FLOW K1 DEQPL EPLAS
75. User Subroutines with ABAQUS L4 33 ABAQUS Example Laminated Composite Plate Failure The strength parameters can be combined into failure criteria for multiaxial loading Three different failure modes are considered in the model analyzed Fiber bucking failure is not considered in this model because the primary mode of failure is fiber matrix shear Matrix Tensile Cracking The failure index for matrix tensile cracking with nonlinear shear behavior is 2 4 26 300 2 2 92 m ae x Y 25 3054 When the composite fails in this mode transverse stiffness and Poisson s ratio become zero 7 01 Writing User Subroutines with ABAQUS L4 34 7 01 Example Laminated Composite Plate Failure Matrix Compressive Cracking The form of the failure index 15 identical to that for the tensile cracking mode The same failure index field variable is used in USDFLD because these two modes will not occur simultaneously at the same point Fiber Matrix Shearing Failure The failure criterion has essentially the same form as the other two criteria j 2 4 2 xt 2012 G12 3061 PE 252 6 30S This failure mechanism can occur simultaneously with the other two criteria therefore a separate failure index is used in USDFLD Writing User Subroutines with ABAQUS L4 35 ABAQUS HIP Example Laminated Composite Plate Failure User subroutine USDFLD is
76. able Writing User Subroutines with ABAQUS L4 43 ABAQUS 1111111111 Example Laminated Composite Plate Failure C FIBER MATRIX SHEAR FAILURE IF EFS LT 1 D0 THEN IF S11 LT 0 D0 THEN EFS SQRT S11 XC 2 F1 F2 ELSE EFS 0 0 ENDIF STATEV 2 EFS ENDIF c C UPDATE FIELD VARIABLES FIELD 1 0 D0 FIELD 2 0 D0 m IF EM GT 1 D0 FIELD 1 1 D0 IF EFS GT 1 00 FIELD 2 1 D0 _ FIELD 3 DAMAGE STATEV 3 FIELD 3 RETURN END 7 01 Writing User Subroutines with ABAQUS L4 44 ABAQUS HB Example Laminated Composite Plate Failure Results The material model implemented with USDFLD in this example does a reasonably good job of modeling the experimentally observed behavior see Figure 4 2 The extent of damage predicted in the composite plate see Figure 4 3 during the analysis was very similar to the damage seen in the experimental specimens 7 01 Writing User Subroutines with ABAQUS L4 45 ABAQUS Example Laminated Composite Plate Failure 4000 O Experiment Chang et al 1989 4 ABAQUS CPS4 3000 2000 Applied load P Ib 1000 0 000 0 010 0 020 0 030 Extensometer measurement AE in Figure 4 2 Experimental and Numerical Load Deflection Curves 7 01 Writing User Subroutines with ABAQUS L4 46 ABAQUS Example Laminated Composite Plate Failure fiber matrix shear failure Figure 4 3 Material Damage
77. alue for all calls to user subroutines for this iteration f the time increment size should be maintained set PNEWDT 1 0 f automatic time incrementation is not selected for the analysis procedure values of PNEWDT that are greater than 1 0 will be ignored and values of PNEWDT that are less than 1 0 will cause the job to terminate 7 01 Writing User Subroutines with ABAQUS L4 26 ABAQUS Example Laminated Composite Plate Failure Example Laminated Composite Plate Failure This problem 15 described in detail in the ABAQUS Example Problems Manual Section 1 1 14 This problem models the damage that occurs in a laminated composite plate with a hole in the center as it is subjected to in plane compression The plate consists of graphite epoxy plies with fiber directions that are in a 45 45 layup A quarter symmetry finite element model shown in Figure 4 1 was used in this problem Rather than model the composite plate with shell elements two layers of CPS4 elements were used the thickness of the plate is large enough that out of plane displacements should be minimal 7 01 Writing User Subroutines with ABAQUS L4 27 ABAQUS Example Laminated Composite Plate Failure Figure 4 1 Problem Geometry and Finite Element Mesh 7 01 Writing User Subroutines with ABAQUS L4 28 ABAQUS Example Laminated Composite Plate Failure Mat
78. an be used with any ABAQUS structural element type Multiple user materials can be implemented in a single UMAT or VUMAT routine and can be used together In this lecture the implementation of material models in UMAT or VUMAT will be discussed and illustrated with a number of examples Writing User Subroutines with ABAQUS L6 3 ABAQUS Motivation Motivation Proper testing of advanced constitutive models to simulate experimental results often requires complex finite element models Advanced structural elements Complex loading conditions Thermomechanical loading Contact and friction conditions Static and dynamic analysis 7 01 Writing User Subroutines with ABAQUS L6 4 ABAQUS iv Motivation Special analysis problems occur if the constitutive model simulates material instabilities and localization phenomena Special solution techniques are required for quasi static analysis Robust element formulations should be available Explicit dynamic solution algorithms with robust vectorized contact algorithms are desired n addition robust features are required to present and visualize the results Contour and path plots of state variables X Y plots Tabulated results 7 01 Writing User Subroutines with ABAQUS L6 5 ABAQUS Motivation The material model developer should be concerned only with the development of the material mo
79. ature 7 01 Writing User Subroutines with ABAQUS L7 33 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior The element stiffness matrix l Ee B LD LB dl 0 The element internal force vector l F DUM 0 The integration is done numerically ume Y All 0 i where n is the number of integration points and is the length associated with integration point 7 7 01 Writing User Subroutines with ABAQUS L7 34 7 01 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior Element Formulation The element formulation is based on Euler Bernoulli beam theory The interpolation is described purely in terms of the displacements which are C continuous at the nodes The curvature is obtained as the second derivative of the displacement normal to the beam The simplest two dimensional beam element has two nodes with two displacements and one rotation u at each node The active degrees of freedom are 1 2 and 6 Vioc Writing User Subroutines with ABAQUS 7 35 7 01 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior In its basic form linear interpolation is used for the tangential displacement and cubic interpolation for the normal displacement The cubic interpolation for the normal displacement yields linear variation for the curvature The l
80. beam local 1 direction when used with beam elements The magnitude specified on the data line is passed into the subroutine as the value of variable F 7 01 Writing User Subroutines with ABAQUS L2 3 ABAQUS ABAQUS Usage A list of the nonuniform distributed load types that are available for use with any particular element is given in the ABAQUS Standard Users Manual e The AMPLITUDE parameter cannot be used with the DLOAD or DSLOAD options when the user subroutine is used to define the magnitude of the distributed load The distributed load magnitude cannot be written as output with the EL FILE or EL PRINT options DLOAD vs UEL f the distributed load is dependent on the element s deformation rather than the position of the element a stiffness is being defined and a user element subroutine UEL not user subroutine DLOAD is required 7 01 Writing User Subroutines with ABAQUS L2 4 ABAQUS DLOAD Subroutine Interface DLOAD Subroutine Interface The interface to user subroutine DLOAD is SUBROUTINE DLOAD F KSTEP KINC TIME NOEL NPT l LAYER KSPT COORDS JLTYP SNAME INCLUDE ABA PARAM INC DIMENSION TIME 2 COORDS 3 CHARACTER 80 SNAME user coding to define F RETURN END 7 01 Writing User Subroutines with ABAQUS L2 5 ABAQUS DLOAD Subroutine Interface Variables to be Defined The user has to define only the variable It is the magnitude of the distributed load a
81. del and not the development and maintenance of the FE software Developments unrelated to material modeling Porting problems with new systems Long term program maintenance of user developed code 7 01 Writing User Subroutines with ABAQUS L6 6 Motivation ABAQUS e Finite Element Modelling of the Damage Process Ice R F McKenna I J Jordaan and J Xiao ABAQUS Users Conference Proceedings 1990 SPALL EVENT SHEET i S Exc 4 4 0 8 _ e xm 1 i E i e 2 i 7 M ee PEWETRATION 7 01 Writing User Subroutines with ABAQUS L6 7 Motivation ABAQUS The Numerical Simulation of Excavations in Deep Level Mining M F Snyman G P Mitchell and J B Martin ABAQUS Users Conference Proceedings 1991 Ew l 1 1 1 Dilanio EAR ae ot we 2423 2 Displaces Siope Towards Mined panier Region 0001 ERU Eee be axo ee ee aa Z ol i i kg 2 Reduced Vertical Stress 2 High Horizontal w Horizontal Suffness Stiflness 7 01 Writing User Subroutines with ABAQUS L6 8 ABAQUS ati Motivation Combined Micromechanical and Structural Finite Element
82. dimensional geometries Generally plane stress must be treated as a separate case because the stiffness coefficients are different The routine is written in incremental form as a preparation for subsequent elastic plastic examples 7 01 Writing User Subroutines with ABAQUS L6 36 ABAQUS Example 1 Isotropic Isothermal Elasticity Even for linear analysis UMAT is called twice for the first iteration of each increment once for assembly and once for recovery Subsequently it is called once per iteration assembly and recovery are combined A check is performed on the number of direct stress components and the analysis is terminated by calling the subroutine XIT A message is written to the message file unit 7 7 01 Writing User Subroutines with ABAQUS L6 37 7 01 ABAQUS Example 2 Non Isothermal Elasticity Example 2 Non Isothermal Elasticity Governing Equations Non isothermal el or in a Jaumann ME rate form 0 20667 2nef f j o T The Jaumann rate equation is integrated in a corotational framework Ao 2uAEf ANG ef 2 Aef ij The appropriate coding is shown on the following pages Writing User Subroutines with ABAQUS L6 38 7 01 ABAQUS HIP Example 2 Non Isothermal Elasticity Coding for Non Isothermal Elasticity C LOCAL ARRAYS
83. e R i i No C Converged Li Write Output i UEXTERNALDB 1 URDFIL TS C of Step 7 i No Yes Figure 1 1 Global Flow in ABAQUS Standard 7 01 Writing User Subroutines with ABAQUS L1 8 ABAQUS DE Where User Subroutines Fit into ABAQUS Standard C Start of Increment Y Calculate Integration Point Field Variable from Nodal Values CREEP UEXPAN Ag UEL C Start of Iteration b Calculate FRIC dAt OAY UMAT i Y UGENS ON OE USDFLD P 3 FILM dh d0 i i a DLOAD Figure 1 2 A More Detailed Flow of ABAQUS Standard 7 01 Writing User Subroutines with ABAQUS L1 9 ABAQUS ND Where User Subroutines Fit into ABAQUS Standard User Subroutine Calls in the First Iteration The flow chart in Figure 1 2 is idealized In the first iteration of an increment all of the user subroutines shown in the figure are called twice During the first call the initial stiffness matrix 1s being formed using the configuration of the model at the start of the increment During the second call a new stiffness based on the updated configuration of the model is created n subsequent iterations the subroutines are called only once n these subsequent iterations the corrections to the model s configuration are calculated u
84. e available for results file output at the element integration points e g S for stress Writing User Subroutines with ABAQUS L4 15 ABAQUS User Subroutine GETVRM Variables Returned by GETVRM Anarray containing individual floating point components of the output variable ARRAY e An array containing individual integer value components of the output variable JARRAY A character array FLGRAY containing flags corresponding to the individual components Flags will contain either YES NO or N A not applicable A return code JRCD JRCD 0 indicates that GETVRM encountered no errors while a value of 1 indicates that there was an output request error or that all components of the output variable requested are zero 7 01 Writing User Subroutines with ABAQUS L4 16 ABAQUS User Subroutine GETVRM The components for a requested variable are written as follows Single index components and requests without components are returned in positions 1 2 3 etc Double index components tensors are returned in the order 11 22 33 12 13 23 for symmetric tensors followed by 21 31 32 for unsymmetric tensors such as the deformation gradient Thus the stresses for a plane stress element are returned as 1 511 ARRAY 2 522 ARRAY 3 0 0 and ARRAY 4 S12 Three values are always returned for principal value requests the minimum value first and maximum value th
85. ed form expression for the equivalent plastic strain increment Ag 5 0 h 3p Writing User Subroutines with ABAQUS L6 56 ABAQUS Ki Example 4 Kinematic Hardening Plasticity This leads to the following update equations for the shift tensor the stress and the plastic strain 2 Tj E 5T1A 1 r r O n 527 Qum ae AQ N 2 ij ij n addition you can readily obtain the consistent Jacobian XA 2L 3u 2 u u o hAgl orr The integration procedure for kinematic hardening is described in Section 21 of the ABAQUS Explicit User s Manual The appropriate coding is shown on the following pages 7 01 Writing User Subroutines with ABAQUS L6 57 7 01 ABAQUS HIP Q0000030020n0n a aa NAAA Example 4 Kinematic Hardening Plasticity EELAS ELASTIC STRAINS EPLAS PLASTIC STRAINS ALPHA SHIFT TENSOR FLOW PLASTIC FLOW DIRECTIONS OLDS STRESS AT START OF INCREMENT OLDPL PLASTIC STRAINS AT START OF INCREMENT DIMENSION EELAS 6 EPLAS 6 ALPHA 6 FLOW 6 OLDS 6 OLDPL 6 PARAMETER ZERO 0 D0 ONE 1 D0 TWO 2 D0 THREE 3 D0 SIX 6 D0 1 ENUMAX 4999D0 TOLER 1 0D 6 UMAT FOR ISOTROPIC ELASTICITY AND MISES PLASTICITY WITH KINEMATIC HARDENING CANNOT BE USED FOR PLANE STRESS PROPS 1 E PROPS 2 NU PROPS 3 SYIELD PROPS
86. ed in the abaqus_dir site abaqus env file compile f132 c link link defaultlib libf lib libc lib user32 1lib netapi32 lib advapi32 lib mpr lib libelm lib subsystem console out If you encounter compile or link errors check that the abaqus_dir site abaqus env file defines the compile and link commands If it does not please contact HKS We will provide you with the correct commands for your system 7 01 Writing User Subroutines with ABAQUS L1 16 ABAQUS die 1 Compiling and Linking User Subroutines FORTRAN Compiler Levels e The FORTRAN compiler levels used to create ABAQUS are shown at www abaqus com support on the World Wide Web Digital Visual Fortran and Microsoft Visual must be installed to run user subroutines on computers running Windows NT 4 0 If the version of your FORTRAN compiler does not correspond to that specified on the HKS web site incompatibilities may occur 7 01 Writing User Subroutines with ABAQUS 1 17 ABAQUS Debugging Techniques and Proper Programming Habits Debugging Techniques and Proper Programming Habits Some programming habits and suggested debugging techniques are discussed in this section Required FORTRAN Statements Every user subroutine in ABAQUS Standard must include the statement INCLUDE ABA PARAM INC as the first statement after the argument list 7 01 Writing User Subroutines with ABAQUS L1 18 ABAQUS Debugging Techniqu
87. ed solution n principle this explicit algorithm is only conditionally stable However since the punch force depends weakly on the blank holder force and the change in blank holder force is small instability is unlikely to occur More sophisticated feedback algorithms are readily implemented 7 01 Writing User Subroutines with ABAQUS L7 61 ABAQUS HIP Example 2 Force Control Element The blank holder force can also be made dependent on other solution variables Subroutine URDFIL can be used to read any solution variable from the results 11 file during analysis The selected variable or variables for example the maximum strain or plastic strain anywhere in the model can be stored in a common block and the variables can be used in the UEL All ABAQUS common block names start with the letter C so name conflicts can easily be avoided 7 01 Writing User Subroutines with ABAQUS L7 62 ABAQUS Using Nonlinear User Elements Various Analysis Procedures Using Nonlinear User Elements in Various Analysis Procedures Overview of Procedures Nonlinear user elements can be utilized in most ABAQUS Standard analysis procedures LFLAGS 1 indicates which procedure type is used LFLAGS 1 211 Dynamic procedure with automatic time incrementation LFLAGS 1 212 Dynamic procedure with fixed time incrementation 7 01 Writing User Subroutines with ABAQUS L7 63 ABAQUS
88. eld variables NFIELD that exist at this point The direction cosines in the global coordinate system of the material directions associated with the current integration point DIRECT DIRECT 1 defines the first material direction The direction cosines T of any rotations of the shell or membrane material direction about the element s normal The characteristic element length in the model CELENT The name CNAME of the associated MATERIAL option The name ORNAME of the ORIENTATION associated with this element The number of direct stress components NDI and the number of shear stress components NSHR Writing User Subroutines with ABAQUS L4 22 7 01 ABAQUS USDFLD Subroutine Interface The step KSTEP and increment number KINC in which the routine is being called The value of step time TIME 1 and the value of total time TIME 2 at the end of the current increment The current time increment DTIME The element number NOEL and integration point number NPT The layer LAYER and section point numbers KSPT where appropriate The coordinates COORD at the material point Variables that must be passed into the GETVRM utility routine JMAC JMATYP MATLAYO and LACCFLA Writing User Subroutines with ABAQUS L4 23 ABAQUS USDFLD Subroutine Interface USDFLD and Automatic Time Incrementation ABAQUS Standard uses an automatic time incrementation algorithm to control
89. end of the results file POSFIL cannot be used to move backward in the results file The user cannot use POSFIL to find a given increment in the file and then make a second call to POSFIL later to read an increment earlier than the first one found 7 01 Writing User Subroutines with ABAQUS L5 6 ABAQUS ABAQUS Usage Utility Routine DBFILE The utility routine DBFILE is used to extract data from the results file The interface for this utility is CALL DBFILE LOP ARRAY JRCD The only variable to be provided to the utility routine is A flag LOP which must be set to 0 when this utility 16 used in URDFIL Variables returned from the utility routine are The array ARRAY containing one record from the results file The flag JRCD is returned as nonzero if an end of file marker is read when DBFILE is called with 0 7 01 Writing User Subroutines with ABAQUS 5 7 ABAQUS ABAQUS Usage The formats of the data records for the results file are described in the ABAQUS Standard User s Manual Section 5 1 2 ARRAY must be dimensioned adequately in the user s routines to contain the largest record on the file For almost all cases 500 words 15 sufficient The exceptions arise if the problem definition includes user elements or user materials that use more than this many state variables When the results file has been written on a system on which ABAQUS runs in double prec
90. ent on the inner diameter of the rocket motor element 1 The load is monitored by writing output to the printed output dat file once per iteration when the distributed load value is defined at the first integration point 7 01 Writing User Subroutines with ABAQUS L2 11 ABAQUS Example Asymmetric Pressure Loads Example Asymmetric Pressure Loads n this problem asymmetric pressure loads are applied to a cylindrical structure which is modeled with the CAXA family of elements These elements have axisymmetric geometry but asymmetric deformation For elements the third coordinate COORD 3 of a point is its position around the circumference of the structure 0x 0x 180 The radial stress distribution at the outer radius is 50 and at inner radius it is R R rr 1 7 01 Writing User Subroutines with ABAQUS L2 12 ABAQUS Example Asymmetric Pressure Loads The magnitude of p is 10 E3 This model is described fully in Problem 1 3 31 of the ABAQUS Verification Manual 7 01 Writing User Subroutines with ABAQUS L2 13 Example Asymmetric Pressure Loads ABAQUS Partial Input Data HEADING ASYMMETRIC INTERAL AND EXTERNAL PRESSURE LOADS 6 IN LONG CYLINDER OF 2 IN amp 6 IN INNER AND OUTER RADII ELSET ELSET INWALL l ELSET ELSET OUTWALL 10 STEP STATIC DLOAD INWALL
91. erial Model The material behavior of each ply is described in detail by Chang and Lessard Chang F K and L B Lessard Damage Tolerance of Laminated Composites Containing an Open Hole and Subjected to Compressive Loadings Part I Analysis Journal of Composite Materials vol 25 pp 2 43 1991 The initial elastic ply properties are longitudinal modulus E 22700 ksi transverse modulus 1880 ksi shear modulus 1010 ksi and Poisson s ratio v 2 0 23 7 01 Writing User Subroutines with ABAQUS L4 29 Example Laminated Composite Plate Failure The material accumulates damage in shear leading to a nonlinear stress strain relation of the form 3 6 6 06 Eq 4 1 where G is the initial ply shear modulus and the nonlinearity is characterized by the factor 0 8x10 To account for the nonlinearity the nonlinear stress strain relation Equation 4 1 must be expressed in a different form The stress at the end of the increment must be given as a linear function of the strain The most obvious way to do this is to linearize the nonlinear term leading to the relation i3 1 Jc jo 4 2 7 01 Writing User Subroutines with ABAQUS L4 30 ABAQUS Example Laminated Composite Plate Failure nverting the relation given in Equation 4 2 gives i l i 1 o ol 5 Eq 4 3 1 0 05 which provides an algori
92. es L7 9 Defining the User Element Behavior L7 10 iuda RP L7 13 ABAOUS eres edicta d uc e wo ee wc L7 13 Parameter DeniiliOn 43 4929 os QE EE EE L7 14 M 17 15 More on Keywords and Parameters 17 19 User Element Loads L7 22 UBL Sod E ee quiae d L7 23 UBL VattableS curae d pu Rode deg oed D dare dE S L7 24 UEL COUVelllOlS ues 12 21 UEL Formulation Aspects Usage Hints L7 28 Coding and Testing the L7 30 7 01 Writing User Subroutines with ABAQUS TOC 5 ABAQUS 322977111 Example 1 Planar Beam Element with Nonlinear Secon BelldelOE e rh Pe ERR ed ae ed n L7 32 ecu sah dits 17 32 Coding Requirements veces RR Ree rs L7 33 Element Formulation i e rm mme 17 39 Element Definition in the Input File L7 39 Coding for Planar Beam Example L7 40 lS HIA RFT L7 45 Generalized Constitutive Behavior L7 46 AMPIA L7 50 Example 2 Force Control LAS 4 44 bbs adanesd sagen des doe S ARE S 6 L7 51 Element Formulation 1 422922 wr m s L7 54 Element Definition in the Input File
93. es and Proper Programming Habits The file ABA PARAM INC is installed on the computer system by the ABAQUS installation procedure The file specifies either IMPLICIT REAL 8 A H O Z for double precision machines or IMPLICIT REAL A H O Z for single precision machines The ABAQUS execution procedure which compiles and links the user subroutine with the rest of ABAQUS will include the ABA PARAM INC file automatically It is not necessary to find this file and copy it to any particular directory ABAQUS will know where to find it Every user subroutine in ABAQUS Explicit must include the statement include vaba param inc 7 01 Writing User Subroutines with ABAQUS L1 19 ABAQUS Debugging Techniques and Proper Programming Habits Naming Conventions f user subroutines call other subroutines or use COMMON blocks to pass information such subroutines or COMMON blocks should begin with the letter K since this letter is never used to start the name of any subroutine or COMMON block in ABAQUS Subroutine Argument Lists The variables passed into a user subroutine via the argument list are classified as either variables to be defined variables that can be defined or variables passed in for information The user must not alter the values of the variables passed in for information Doing so will have unpredictable results 7 01 Writing User Subroutines with ABAQUS L1 20 ABAQUS
94. es that depend on the values of the degrees of freedom u at the nodes N N is defined as a residual quantity F F uestes F is the external flux due to applied distributed loads and A is the internal flux due to stresses e g at node N Ifthe degrees of freedom are displacements the associated fluxes are the nodal forces Similarly rotations correspond to moments and temperatures to heat fluxes n nonlinear user elements the fluxes forces will often depend on the increments in the degrees of freedom Au and the internal state variables H State variables must be updated in the user subroutine Writing User Subroutines with ABAQUS L7 10 utn Defining a User Element The solution of the nonlinear system of equations in general steps requires that you define the element Jacobian stiffness matrix NM dr K TU M du The Jacobian should include all direct and indirect dependencies of F on which includes terms of the form 9F 9H JH ou A more accurately defined Jacobian improves convergence in general steps The Jacobian stiffness determines the solution for linear perturbation steps so it must be exact The Jacobian can be symmetric or nonsymmetric 7 01 Writing User Subroutines with ABAQUS L7 11 7 01 ABAQUS s Defining a User Element The complexity of the formulation of a user element can vary greatly e Simple elements can
95. ewname inp by typing UNIX mv newcopy inp newname inp Windows NT rename newcopy inp newname inp Be careful when using cp and mv since UNIX will overwrite existing files without warning 3 Delete this file by typing UNIX rm newname inp Windows NT erase newname inp 4 View the contents of the files filename inp by typing UNIX more filename inp Windows NT type filename inp more This step will scroll through the file one page at a time Now you are ready to start the workshops Preliminaries for ABAQUS Workshops WP 4 ABAQUS Workshop 1 User Subroutine FILM Goals To learn how to find the compile and link commands used on your system To see how sensitive the rate of convergence is on the value of E see if the results are sensitive to the value of E Problem Description User subroutine FILM will be used to define 1 3 EQ 1 A 0 500 e 6 where 0 100 C is the fluid temperature and 0 is the surface temperature The subroutine will be tested on a two element model which is shown in Figure W1 1 AII nodes are initially at 77 C Convection boundary condition applied with FILM 277 Figure W1 1 Two Element Model Writing User Subroutines with ABAQUS W1 1 ABAQUS Workshop 1 User Subroutine FILM Steady State Solution Correct Model The input file ilm test 1 inp calculates the steady state solution for the problem shown in Figure W 1 1 1 L
96. fic internal energy STRESS POWER HALF 1 STRESSOLD I 1 STRESSNEW I 1 STRAININC I 1 2 STRESSOLD I 2 STRESSNEW I 2 STRAININC I 2 3 STRESSOLD I 3 STRESSNEW I 3 STRAININC I 3 4 TWO STRESSOLD I 4 STRESSNEW I 4 STRAININC I 4 ENERINTERNNEW I ENERINTERNOLD 1 STRESS POWER DENSITY I C Update the dissipated inelastic specific energy SMEAN THIRD STRESSNEW I 1 STRESSNEW I 2 DS1 DS2 DS3 S4 1 STRESSNEW I 3 EQUIV STRESS SQRT THREE HALFS 1 m STRESSNEW I 1 SMEAN 2 2 STRESSNEW I 2 SMEAN 2 3 STRESSNEW I 3 SMEAN 2 4 TWO STRESSNEW I 4 2 Writing User Subroutines with ABAQUS L6 103 ABAQUS Example 6 VUMAT for Kinematic Hardening PLASTIC WORK INC EQUIV STRESS DEQPS ENERINELASNEW I ENERINELASOLD I 1 PLASTIC WORK INC DENSITY I C END DO C END IF RETURN END 7 01 Writing User Subroutines with ABAQUS L6 104 ABAQUS HB Example 6 VUMAT for Kinematic Hardening Remarks n the datacheck phase VUMAT is called with a set of fictitious strains and a TOTALTIME and STEPTIME both equal to 0 0 A check is done on the user s constitutive relation and an initial stable time increment is determined based on calculated equivalent initial material properties Ensure that elastic properties are used in this call to VUMAT otherwise too large an initial time increment may be used leading
97. h ABAQUS L3 6 ABAQUS FILM Subroutine Interface The identifier JL TYP specifying the type of load to be defined in this call to the user subroutine If multiple user defined FILM types are specified in a model the coding for all film types must appear in the subroutine and this variable JLTYP must be used to test for which film type is to be defined when the subroutine is called The interpolated values of field variables at this point FIELD Any of the variables or can be made functions of f j The number of field variables NFIELD The surface name SNAME for a surface based film definition JLTYP 0 The node number NODE and area AREA for a node based film definition The area is passed in as the value specified on the data line of the CFILM option 7 01 Writing User Subroutines with ABAQUS L3 7 ABAQUS ORE Example Radiation in Finned Surface Example Radiation in Finned Surface e This problem is described in detail in Section 4 1 4 of the ABAQUS Example Problems Manual This problem models the heat transfer through a finned structure In Step 1 the steady state conditions are obtained n Step 2 the transient response of a 30 minute fire 1s obtained The finned surface is exposed to the fire n Step 3 the 60 minute transient response of the structure when the steady state boundary conditions are returned is obtained 7 01 Writing User Subrouti
98. ient F are commonly used to model for example rubber elasticity n this case the consistent Jacobian 1s defined through d Jo where J F C 15 material Jacobian 8D is the virtual rate of deformation defined as 6D 1 7 01 Writing User Subroutines with ABAQUS L6 17 ABAQUS Steps Required in Writing a UMAT or VUMAT Coding the UMAT or VUMAT Follow FORTRAN 77 or C conventions Make sure that the code can be vectorized for VUMAT only to be discussed later Make sure that all variables are defined and initialized properly Use ABAQUS utility routines as required Assign enough storage space for state variables with the DEPVAR option 7 01 Writing User Subroutines with ABAQUS L6 18 ABAQUS Steps Required in Writing a UMAT or VUMAT Verifying the UMAT or VUMAT with a small one element input file 1 Run tests with all displacements prescribed to verify the integration algorithm for stresses and state variables Suggested tests include Uniaxial Uniaxial in oblique direction Uniaxial with finite rotation Finite shear 2 Run similar tests with load prescribed to verify the accuracy of the Jacobian 3 Compare test results with analytical solutions or standard ABAQUS material models if possible If the above verification is successful apply to more complicated problems 7 01 Writing User Subrouti
99. in the Plate 7 01 Writing User Subroutines with ABAQUS L4 47 ABAQUS HB Example Laminated Composite Plate Failure Remarks e The values of the failure indices are not assigned directly to the instead they are stored as solution dependent state variables Only if the value of a failure index exceeds 1 0 is the corresponding user defined field variable set equal to 1 0 After the failure index has exceeded 1 0 the associated f continues to have the value 1 0 even though the stresses may reduce significantly which ensures that the material does not heal after it has become damaged 7 01 Writing User Subroutines with ABAQUS L4 48 ABAQUS Example Laminated Composite Plate Failure The material model implemented with USDFLD assumes that after failure occurs the stresses in the failed directions drop to zero immediately which corresponds to brittle failure with no energy absorption This assumption is not very realistic in reality the stress carrying capacity degrades gradually with increasing strain after failure occurs Hence the behavior of the composite after onset of failure is not likely to be captured well by this model Moreover the instantaneous loss of stress carrying capacity also makes the postfailure analysis results strongly dependent on the refinement of the finite element mesh and the finite element type used 7 01 Writing User Subroutines with ABAQUS L4 49 ABAQU
100. inear Section Behavior Remarks The coding in this routine is very similar in nature to what would be coded in the subroutines UMAT and UGENS The routine stores the axial strain curvature axial force and bending moment at each Gauss point For nonlinear material behavior additional quantities would be stored The constitutive relation is written in incremental form for easy generalization to nonlinear section behavior UGENB and UEL must be combined in one external file 7 01 Writing User Subroutines with ABAQUS L7 50 7 01 ABAQUS Example 2 Force Control Element Example 2 Force Control Element Objective Implement an active control mechanism in a finite element model The specific objective is to model a deep drawing operation in which the blank holder force is dynamically adapted during the process The punch force is measured during the deep drawing process If the punch force approaches a value that might cause tearing of the sheet the blank holder force 1s decreased If the punch force decreases significantly below the critical value for tearing the blank holder force is increased to minimize the danger of wrinkling Writing User Subroutines with ABAQUS 7 51 Example 2 Force Control Element ABAQUS The problem is an adaptation of ABAQUS Example Problem 1 3 4 Deep Drawing of a Cylindrical Cup punch blank holder 5 R 50 mm
101. inear interpolation for the tangential displacement yields a constant axial strain The constant axial strain and linear curvature variation are inconsistent and may lead to excessive local axial forces if the axial and bending behavior are coupled Considering that the intent is to analyze nonlinear concrete behavior such coupling will be present The excessive axial forces may lead to overly stiff behavior Writing User Subroutines with ABAQUS L7 36 7 01 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior To prevent this problem an extra internal node is added to the element The internal node has one degree of freedom the tangential displacement Both the axial strain and the curvature now vary linearly The interpolation functions are bou CEDE dE dE Vioc 2E 5 DE 9 amp 2 amp 8 g IC E E where is the element length and s l is the dimensionless position along the beam Writing User Subroutines with ABAQUS L7 37 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior This yields the following expressions for the axial strain and the curvature e SD C 3 4E up C7 1 48 u 4 88 aris 64 125 02 6 128 9 I 4 4 65 9 L7 2 4 65 These linear relations are implemented in the B matrix of the element The B matrix also handles the transformation from local to globa
102. ines with ABAQUS L6 107 7 01 ABAQUS 1111111111 Example 7 VUMAT for Isotropic Hardening Coding for Isotropic Hardening Plasticity VUMAT C C parameter zero 0 d0 one 1 d0 two 2 d0 third 1 40 3 d0 half 0 540 5 1 5d0 C C For plane strain axisymmetric and 3D cases using C the J2 Mises Plasticity with piecewise linear isotropic hardening C C The state variable is stored as C C STATE 1 equivalent plastic strain C User needs to input C props 1 Young s modulus props 2 Poisson s ratio props 3 syield and hardening data C calls vuhard for curve of yield stress vs plastic strain C Writing User Subroutines with ABAQUS L6 108 Example 7 VUMAT for Isotropic Hardening ABAQUS 1111111111 props 1 xnu props 2 twomu one xnu alamda xnu twomu one two xnu thremu op5 twomu nvalue nprops 2 1 if stepTime eq zero then do k 1 nblock trace strainInc k 1 strainInc k 2 strainInc k 3 stressNew k 1 stressOld k 1 twomu strainiInc k 1 alamda trace stressNew k 2 stressOld k 2 twomu strainInc k 2 alamda trace stressNew k 3 stressOld k 3 twomu strainInc k 3 alamda trace stressNew k 4 stressOld k 4 twomu strainInc k 4 if nshr gt 1 then stressNew k 5 stressOld k 5 twomu strainInc k 5 stressNew k 6 stressOld k 6 twomu strainInc k 6 end if end do
103. iption 7 01 Writing User Subroutines with ABAQUS L6 117 ABAQUS Lecture 7 Creating a Nonlinear User Element Overview Motivation Defining a User Element UEL Interface Example 1 Planar Beam Element with Nonlinear Section Behavior Example 2 Force Control Element e Using Nonlinear User Elements in Various Analysis Procedures 7 01 Writing User Subroutines with ABAQUS 7 1 7 01 ABAQUS Overview Overview ABAQUS Standard has an interface that allows users to implement linear and nonlinear finite elements A nonlinear finite element is implemented in user subroutine UEL The interface makes it possible to define any proprietary element of arbitrary complexity f coded properly user elements can be utilized with most analysis procedures in ABAQUS Standard Multiple user elements can be implemented in a single UEL routine and can be utilized together In this lecture the implementation of nonlinear finite elements only will be discussed and illustrated with examples Writing User Subroutines with ABAQUS 17 2 ABAQUS iv Motivation Motivation ABAQUS Standard is a versatile analysis tool with a large element library that allows analysis of the most complex structural problems However situations arise in which augmenting the ABAQUS library with user defined elements is useful Modeling nonstructural physical processes that are coupled to structural behavior Applying so
104. iques and Proper Programming Habits There are two methods available for defining the initial values of solution dependent variables The INITIAL CONDITIONS TYPE SOLUTION option can be used to define the variable field in a tabular format For complicated cases user subroutine SDVINI can be used to define the initial values of the SDVs Invoke this subroutine by adding the USER parameter to the INITIAL CONDITIONS TYPE SOLUTION option 7 01 Writing User Subroutines with ABAQUS L1 23 ABAQUS 1771117111 Debugging Techniques and Proper Programming Habits Testing Suggestions Always develop and test user subroutines on the smallest possible model Do not include other complicated features such as contact unless they are absolutely necessary when testing the subroutine Test the most basic model of the user subroutine before adding additional complexity to the subroutine Whenever a new feature is added to the model in a user subroutine test it before adding an additional feature When appropriate try to test the user subroutine in models where only values of the nodal degrees of freedom displacement rotations temperature are specified Then test the subroutine in models where fluxes and nodal degrees of freedom are specified 7 01 Writing User Subroutines with ABAQUS L1 24 ABAQUS HB Debugging Techniques and Proper Programming Habits Ensure that arrays passed into a user
105. ird regardless of the dimensionality of the analysis 7 01 Writing User Subroutines with ABAQUS L4 17 ABAQUS User Subroutine GETVRM Elements Supported by GETVRM e Since the GETVRM capability pertains to material point quantities it cannot be used for most of the element types that do not require a MATERIAL definition The following element types are therefore not supported DASHPOTx ROTARYI SPRINGx all acoustic elements JOINTC all contact elements JOINTxD all gasket elements DRAGxD all hydrostatic fluid elements ITSxxx USA elements MASS 7 01 Writing User Subroutines with ABAQUS L4 18 ABAQUS USDFLD Subroutine Interface USDFLD Subroutine Interface The interface to user subroutine USDFLD is SUBROUTINE USDFLD FIELD STATEV PNEWDT DIRECT T 1 CELENT TIME DTIME CMNAME ORNAME NFIELD 2 NSTATV NOEL NPT LAYER KSPT KSTEP KINC NDI 3 NSHR COORD JMAC JMATYP MATLAYO LACCFLA C INCLUDE ABA PARAM INC C CHARACTER 80 CMNAME ORNAME CHARACTER 8 FLGRAY 15 DIMENSION FIELD NFIELD STATEV NSTATV DIRECT 3 3 1 T 3 3 TIME 2 COORD JMAC JMATYP DIMENSION ARRAY 15 JARRAY 15 user coding to define FIELD and if necessary STATEV and PNEWDT 7 01 Writing User Subroutines with ABAQUS L4 19 ABAQUS USDFLD Subroutine Interface Variables to be Defined e The array FIELD NFIELD contains the field variables f at the current material integration point
106. ision ARRAY must be declared double precision in the user s routine 7 01 Writing User Subroutines with ABAQUS L5 8 ABAQUS URDFIL Subroutine Interface URDFIL Subroutine Interface The interface to user subroutine URDFIL 1 SUBROUTINE URDFIL LSTOP LOVRWRT KSTEP KINC 1 DTIME TIME INCLUDE ABA PARAM INC DIMENSION ARRAY 513 JRRAY NPRECD 513 TIME 2 EQUIVALENCE ARRAY 1 JRRAY 1 1 user coding to read the results file RETURN END 7 01 Writing User Subroutines with ABAQUS L5 9 ABAQUS URDFIL Subroutine Interface Variables to be Defined The flag LSTOP to indicate whether an analysis should continue The analysis will be terminated if LSTOP is set to 1 Otherwise the analysis will continue The flag LOVRWRT to indicate that the information written to the results file for the current increment can be overwritten f LOVRWRT is set to 1 information for the current increment will be overwritten by information written to the results file in a subsequent increment unless the current increment is the final increment written to the results file The purpose of this flag is to reduce the size of the results file by allowing information for an increment to be overwritten by information for a subsequent increment 7 01 Writing User Subroutines with ABAQUS L5 10 ABAQUS URDFIL Subroutine Interface The variable DTIME allows the user to provide input to the automatic
107. ith ABAQUS L6 24 ABAQUS UMAT Interface UMAT Variables The following quantities are available in UMAT Stress strain and SDVs at the start of the increment Strain increment rotation increment and deformation gradient at the start and end of the increment Total and incremental values of time temperature and user defined field variables Material constants material point position and a characteristic element length Element integration point and composite layer number for shells and layered solids Current step and increment numbers 7 01 Writing User Subroutines with ABAQUS L6 25 7 01 ABAQUS UMAT Interface The following quantities must be defined Stress SDVs and material Jacobian The following variables may be defined Strain energy plastic dissipation and creep dissipation Suggested new reduced time increment Complete descriptions of all parameters are provided in the UMAT section in Chapter 24 of the ABAQUS Standard User s Manual Writing User Subroutines with ABAQUS L6 26 7 01 ABAQUS UMAT Interface The header is usually followed by dimensioning of local arrays It is good practice to define constants via parameters and to include comments DIMENSION EELAS 6 EPLAS 6 FLOW 6 C PARAMETER ZERO 0 D0 ONE 1 D0 TWO 2 D0 THREE 3 D0 SIX 6 D0 1 ENUMAX 4999D0 NEWTON 10 TOLER 1 0D 6 C Co eee EE E
108. ity algorithm in ABAQUS Standard Analyses with the PLASTIC Material Model 1 Submit the file umat axil inpto ABAQUS This input file is set up for a displacement control analysis and uses the Mises plasticity routine that is built into ABAQUS Writing User Subroutines with ABAQUS W2 1 ABAQUS Workshop 2 User Subroutine UMAT Tangent Stiffness 2 Enter the number of increments and the total number of iterations required to complete this displacement control analysis in Table W2 1 Under the heading Flag Setting enter built in Table W2 1 Displacement Control Flag Setting Number of Increments Number of Iterations Load Control Flag Setting Number of Increments Number of Iterations 3 Copy axil inp into another file name and modify it as follows remove the nonzero displacement boundary conditions and add a negative pressure loading of 40000 on the element in the axial direction 4 Submit the new file to ABAQUS 5 Repeat Step 2 except put the results in the load control portion of the table Displacement Control Analyses with the UMAT Material Model Now solve the same problem using user subroutine UMAT The material constants used in the user subroutine are specified with the USER MATERIAL option Seven material constants are specified in this problem The seventh material constant is used as a flag in user subroutine UMAT when it is set to 1 UMAT returns the actual i e correct material
109. l displacements at the nodes The element is integrated numerically with a two point Gauss scheme 7 01 Writing User Subroutines with ABAQUS L7 38 7 01 ABAQUS 1111111111 Example 1 Planar Beam Element with Nonlinear Section Behavior Element Definition in the Input File The following data lines define the user element in the input file user element type ul nodes 3 coordinates 2 properties 3 variables 8 1 2 6 3 1 element type ul elset one 1 1 2 3 uel property elset one 2 1 1000 The user element name is U1 which is used in the ELEMENT option Eight state variables are allocated so four variables can be defined at each integration point Three element properties are allocated the section height the section width and Young s modulus The element has three nodes the third internal node is unique to each element Writing User Subroutines with ABAQUS L7 39 7 01 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior Coding for Planar Beam Example simple 2 linear beam element with generalized section properties subroutine uel rhs amatrx svars energy ndofel nrhs nsvars 1 props nprops coords mcrd nnode u du v a jtype time dtime 2 kstep kinc jelem params ndload jdltyp adlmag predef npredf 3 lflags mlvarx ddlmag mdload pnewdt jprops njprop period include aba param inc dimension rhs mlvarx
110. later in this lecture Writing User Subroutines with ABAQUS L7 28 7 01 ABAQUS UEL Interface At the start of a new increment the increment in solution variable s is extrapolated from the previous increment The flux vector and the Jacobian must be based on these extrapolated values If extrapolation is not desired it can be switched off with STEP EXTRAPOLATION NO If the increment in solution variable s is too large the variable PNEWDT can be used to suggest a new time increment ABAQUS will abandon the current time increment and will attempt the increment again with one that is a factor PNEWDT smaller Writing User Subroutines with ABAQUS L7 29 ABAQUS UEL Interface Coding and Testing the UEL Follow the basic rules for writing ABAQUS user subroutines Follow FORTRAN 77 or C conventions e Make sure that all variables are defined and initialized Assign enough storage space for state variables 7 01 Writing User Subroutines with ABAQUS L7 30 7 01 ABAQUS UEL Interface Complex UELs may have many potential problem areas Do not use a large model when trying to debug a UEL Verify the UEL with a one element input file Run tests using general steps in which all solution variables are prescribed to verify the resultant fluxes 2 Run tests using linear perturbation steps in which all loads are prescribed to verify the element Jacobian stiffness 3 Run tests using general
111. lize this routine for three dimensional analyses Itis much more complicated to extend the routine to geometrically nonlinear analysis Even for linear analysis this routine is called twice for each element during the first iteration of an increment once for assembly and once for recovery Subsequently it is called once per iteration assembly and recovery are combined Writing User Subroutines with ABAQUS L7 45 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior Generalized Constitutive Behavior At each integration point the generalized constitutive behavior is processed in the user created subroutine UGENB This subroutine is patterned after user subroutine UGENS which allows you to model the behavior of a shell The following quantities are passed into UGENB Total and incremental axial strain and curvature State variables at the start of the increment User element properties You must define The axial force and bending moment as well as the linearized force moment strain curvature relations The solution dependent state variables 7 01 Writing User Subroutines with ABAQUS L7 46 7 01 ABAQUS 1111111111 Example 1 Planar Beam Element with Nonlinear Section Behavior A simple linear elastic subroutine UGENB follows subroutine ugenb bn bm daxial dbend dcoupl eps deps cap dcap 1 svint nsvint props nprops include aba param inc parameter zer
112. lly the user must define the dependence of material properties such as elastic modulus or yield stress as functions of field variables This can be accomplished using either tabular input or additional user subroutines 7 01 Writing User Subroutines with ABAQUS L4 3 ABAQUS ABAQUS Usage e The USDFLD routine is then written to define the values of f on an integration point by integration point basis The USER DEFINED FIELD option is included in the material definition to indicate that the USDFLD subroutine will be called for those elements using that material definition The f can be defined as functions of solution data such as stress or strain available at the integration points 7 01 Writing User Subroutines with ABAQUS L4 4 unn ABAQUS Usage Defining Field Variable Dependent Material Properties There are two methods that can be used to create field variable dependent material properties Using tabular definition for built in ABAQUS material models Using other user subroutines such as CREEP to define the material behavior as a function of f 7 01 Writing User Subroutines with ABAQUS L4 5 7 01 ABAQUS ABAQUS Usage Tabular Definition Use the DEPENDENCIES parameter on the material options to specify how many different field variables exist for a given material option MATERIAL NAME POLYMER ELASTIC DEPENDENCIES 1 2000 0 3 0 0 00 J 12005 0 3 0 54 0 02 7
113. lution dependent loads Modeling active control mechanisms 7 01 Writing User Subroutines with ABAQUS 17 3 ABAQUS iv Motivation The advantages of implementing user elements in an analysis code such as ABAQUS instead of writing a complete analysis code are obvious ABAQUS offers a large selection of structural elements analysis procedures and modeling tools e ABAQUS offers pre and postprocessing Many third party vendors offer pre and postprocessors with interfaces to ABAQUS Maintaining and porting subroutines is much easier than maintaining and porting a complete finite element program 7 01 Writing User Subroutines with ABAQUS L7 4 ABAQUS Motivation e Finite Element Simulations in Mechanics of Materials and Deformation Processing Research Mary C Boyce ABAQUS Users Conference Proceedings 1992 10000 5000 Binder Force N 0 10 20 30 40 Punch Displacement mm Figure 7 1 Calculated Binder Force Trajectory Using Active Global Binder Displacement and Local Strain Control 7 01 Writing User Subroutines with ABAQUS L7 5 ABAQUS iv Motivation User Elements Developed for the Nonlinear Dynamic Analysis of Reinforced Concrete Structures Thomas Wenk Peter Linde and Hugo Bachmann ABAQUS Users Conference Proceedings 1993 Hg Hysterectic Rules For Flexural Springs in Macro Model above 7 01 Writing User Subroutines with ABAQUS L7 6 ABAQUS pa
114. m files 15 18 100 In ABAQUS Standard user subroutines can write debug output to the message msg file unit 7 or to the printed output dat file unit 6 These units do not have to be opened within the user subroutine they are opened by ABAQUS These unit numbers cannot be used by user subroutines in ABAQUS Explicit 7 01 Writing User Subroutines with ABAQUS L1 13 ABAQUS HIP Writing Output from User Subroutines Path Names for External Files When a file is opened in a user subroutine ABAQUS assumes that it is located in the scratch directory created for the simulation therefore full path names must be used in the OPEN statements in the subroutine to specify the location of the files 7 01 Writing User Subroutines with ABAQUS L1 14 ABAQUS die 1 Compiling and Linking User Subroutines Compiling and Linking User Subroutines When a model that contains user subroutines is submitted to ABAQUS the correct compile and link commands should be used automatically HKS includes the correct compile and link commands for every platform on which ABAQUS is supported in the default environment file abaqus env located in the abaqus dir site directory abaqus dir is the directory in which ABAQUS was installed 7 01 Writing User Subroutines with ABAQUS L1 15 Compiling and Linking User Subroutines ABAQUS For example on the Windows NT release the following commands are defin
115. model contains an error in the definition of 46 h 2 third 500 0d0 abs temp sink third The correct definition of h 2 should have the term abs temp sink raised to the 2 3 power h 2 al third 500 0d0 abs temp sink two third 2 Look at the number of iterations ABAQUS needed for each increment of the analysis Enter the total number of iterations that ABAQUS needed during the analysis to obtain a solution in Table W1 1 7 01 Writing User Subroutines with ABAQUS W1 3 ABAQUS Workshop 1 User Subroutine FILM 3 Compare the final temperature values from this analysis with those from the film test 1 analysis Question WI 6 Were there any differences in the results Were they significant Steady State Solution Model with Error 3 1 Submit the input file ilm test e3 inpto ABAQUS using the subroutine in film test e3 f This model contains an error in the definition of E h 2 third 500 0d0 abs temp sink two third The correct definition of h 2 should have the term abs temp sink raised to the 2 3 h 2 al third 500 0d0 abs temp sink two third 2 Look at the number of iterations ABAQUS needed for each increment of the analysis Enter the total number of iterations that ABAQUS needed during the analysis to obtain a solution in Table W1 1 3 The analysis has failed to converge Question WI 7 Why does the analysis fail to converge Table W1 1 7 01 Writing User
116. n Only Example Using URDFIL to Terminate an Analysis Input Dali ese pees ce cokes oh Oe PE dfe acis User Subroutine Remarks sorri a SRI UE SR Wa RR EU E WP stade Uu d Sa d Writing User Subroutines with ABAQUS TOC 3 7 01 ABAQUS Pr 71111 Lecture 6 Writing a UMAT or VUMAT ggg TR mr Sane bed ee eee et Steps Required in Writing UMAT or VUMAT UMAT ACS suis dot VoU INTRA CRESCE Rang Son UMAT Variables nx UMAT UMAT Conventions UMAT Formulation Aspects E sheer Cr Example 1 Isotropic Isothermal Elasticity Governing Equations i222 22240 REA RA RETE Y Coding for Isotropic Isothermal Elasticity RET mm Example 2 Non Isothermal Elasticity Governing Equations 22249 hn d onr Coding for Non Isothermal Elasticity ceo acea dace 3d E ee eee ee pod Example 3 Neo Hookean Hyperelasticity Governing Equations Coding for Neo Hookean Hyperelasticity qc pb dts quU ib saa Example 4 Kinematic Hardening
117. nd has units that depend on the type of distributed load applied for line loads along one dimensional beam elements FL for surface loads e g pressures and FL for body forces e g gravity centripetal acceleration Variables for Information Only The following variables are passed into the subroutine The step KSTEP and increment number KINC in which the routine is being called The current value of the step TIME 1 and the total time TIME 2 7 01 Writing User Subroutines with ABAQUS L2 6 7 01 ABAQUS DLOAD Subroutine Interface The element number NOEL and integration point number NPT The layer LAYER and section point numbers KSPT where appropriate The coordinates of the integration point COORDS These are the current coordinates if the STEP NLGEOM option is used in this or a previous step The identifier JL TYP specifying the type of load to be defined in this call to the user subroutine If multiple user defined DLOAD types are specified in a model the coding for all load types must appear in the subroutine and this variable JL TYP must be used to test for which load type is to be defined when the subroutine 1s called The surface name SNAME for a surface base load definition JLTYP 0 Writing User Subroutines with ABAQUS L2 7 ABAQUS Example Transient Internal Pressure Loading Example Transient Internal Pressure
118. nes with ABAQUS L3 8 Example Radiation in Finned Surface External fluid 38 C to 800 C 01m _ 1 15m Y 2 2 06m e m Wall 3 F E model Internal fluid 100 C Figure 3 1 Sketch of Finned Structure 7 01 Writing User Subroutines with ABAQUS L3 9 ABAQUS Example Radiation in Finned Surface Element set TOPF3 Element set TOPF4 Element set TOPF2 Figure 3 2 Finite Element Mesh and Element Sets That Use FILM Element set BOTF1 7 01 Writing User Subroutines with ABAQUS 13 10 ABAQUS HIP Example Radiation in Finned Surface Along the inner wall element set BOTF1 natural convection transfers heat between the structure and surrounding fluid which is at 100 C 1 3 h 8 500 0 6 is the temperature of the wall of the structure 0 is the internal fluid temperature Along the outer finned surface radiation and natural convection boundary conditions exist During Steps 1 and 3 1 3 2 6 0 is the external fluid temperature 38 C During Step 2 the fire transient 10 7 01 Writing User Subroutines with ABAQUS L3 11 ABAQUS 4 intinn in Ei Example Radiation in Finned Surface Partial Input Data HEADING STEP INC 500 HEAT TRANSFER STEADY STATE 1 0 BOUNDARY NAMB 11 38 00 FILM BOTF1 F1NU FILM TOPF3 F3NU User subroutine FILM used for all these
119. nes with ABAQUS L6 19 ABAQUS UMAT Interface UMAT Interface These input lines act as the interface to a UMAT in which isotropic hardening plasticity is defined MATERIAL NAME ISOPLAS USER MATERIAL CONSTANTS 8 UNSYMM 30 E6 0 3 30 E3 0 40 E3 0 1 50 E3 0 5 DEPVAR 13 INITIAL CONDITIONS TYPE SOLUTION Data line to specify initial solution dependent variables USER SUBROUTINES INPUT file The USER MATERIAL option is used to input material constants for the UMAT The unsymmetric equation solution technique will be used if the UNSYMM parameter is used 7 01 Writing User Subroutines with ABAQUS L6 20 ABAQUS UMAT Interface The DEPVAR option is used to allocate space at each material point for solution dependent state variables SDVs The INITIAL CONDITIONS TYPE SOLUTION option is used to initialize SDVs if they are starting at a nonzero value Coding for the UMAT is supplied in a separate file The UMAT is invoked with the ABAQUS execution procedure as follows abaqus job user The user subroutine must be invoked in a restarted analysis because user subroutines are not saved on the restart file 7 01 Writing User Subroutines with ABAQUS L6 21 ABAQUS UMAT Interface Additional notes If a constant material Jacobian is used and no other nonlinearity is present reassembly can be avoided by invoking the quasi Newton method with the input line
120. ng a UMAT or VUMAT Steps Required in Writing a UMAT or VUMAT Proper definition of the constitutive equation which requires one of the following Explicit definition of stress Cauchy stress for large strain applications Definition of the stress rate only in corotational framework Furthermore it is likely to require Definition of dependence on time temperature or field variables Definition of internal state variables either explicitly or in rate form 7 01 Writing User Subroutines with ABAQUS L6 12 Steps Required in Writing a UMAT or VUMAT Transformation of the constitutive rate equation into an incremental equation using a suitable integration procedure Forward Euler explicit integration Backward Euler implicit integration Midpoint method 7 01 Writing User Subroutines with ABAQUS L6 13 ABAQUS Steps Required in Writing a UMAT or VUMAT This is the hard part Forward Euler explicit integration methods are simple but have a stability limit lt Ae stab where is usually less than the elastic strain magnitude sta For explicit integration the time increment must be controlled For implicit or midpoint integration the algorithm is more complicated and often requires local iteration However there is usually no stability limit An incremental expression for the internal state variables must also be obtained
121. nitions on any platform Arrays can be initialized with a DATA statement Writing User Subroutines with ABAQUS L7 26 ABAQUS UEL Interface UEL Conventions The solution variables displacement velocity etc are arranged on a node degree of freedom basis The degrees of freedom of the first node are first followed by the degrees of freedom of the second node etc Consider a planar beam that uses degrees of freedom 1 2 and 6 at its first and second node and degrees of freedom 1 and 2 at its third middle node The ordering is Element variable 1 2 3 4 5 6 7 8 Node 1 1 1 2 2 2 3 83 Degree of freedom 1 2 6 1 2 6 1 2 The flux vector and Jacobian matrix must be ordered in the same way 7 01 Writing User Subroutines with ABAQUS 7 27 7 01 ABAQUS UEL Interface UEL Formulation Aspects and Usage Hints The displacement velocities etc passed into the UEL are in the global system regardless whether the TRANSFORM option is used at any of the nodes The flux vector and Jacobian matrix must also be formulated in the global system The Jacobian must be formulated as a full matrix even if it is symmetric If the UNSYMM parameter is not used ABAQUS will symmetrize the Jacobian defined by the user For transient heat transfer and dynamic analysis heat capacity and inertia contributions must be included in the flux vector UELSs for these procedures will be discussed
122. o 0 d0 twelve 12 d0 dimension svint props variables to be defined by the user bn axial force bm bending moment daxial current tangent axial stiffness dbend current tangent bending stiffness dcoupl tangent coupling term variables that may be updated Q0a00n0nn0n00n0n0nn0nn0n svint state variables for this integration point Writing User Subroutines with ABAQUS L7 47 ABAQUS Example 1 Planar Beam Element with Nonlinear Section Behavior variables passed in for information eps axial strain deps incremental axial strain cap curvature change dcap incremental curvature change props element properties nprops element properties nsvint state variables current assumption props 1 section height props 2 section width props 3 Young s modulus 1 w props 2 E props 3 7 01 Writing User Subroutines with ABAQUS L7 48 ABAQUS 1111111111 Example 1 Planar Beam Element with Nonlinear Section Behavior c formulate linear stiffness c daxial E h w dbend E w h 3 twelve dcoupl zero c c calculate axial force and moment bn svint 1 daxial deps bm svint 2 dbend dcap c store internal variables svint 1 bn svint 2 bm svint 3 eps svint 4 cap return end 7 01 Writing User Subroutines with ABAQUS L7 49 ABAQUS Example 1 Planar Beam Element with Nonl
123. olution dependent state vector The vector ii gt is passed into the subroutine c Ar 5 and G must be calculated It is obvious that this expression simplifies considerably if amp 0 7 01 Writing User Subroutines with ABAQUS 7 77 ABAQUS Using Nonlinear User Elements Various Analysis Procedures LFLAGS 3 4 Velocity jump calculation which will be done at the start of each dynamic step and after contact changes The purpose of this calculation is to make the velocities conform to constraints imposed by EQUATION or contact conditions while preserving momentum The Jacobian is equal to the mass matrix and the force vector should be set to zero 7 01 Writing User Subroutines with ABAQUS L7 78 ABAQUS Using Nonlinear User Elements Various Analysis Procedures LFLAGS 3 6 Acceleration calculation which will be done at the start of each dynamic step unless INITIAL NO on the DYNAMIC option and after contact changes The purpose of this calculation is to create dynamic equilibrium at the start of a step or after contact changes The Jacobian is equal to the mass matrix and the force vector should contain static and damping contributions only 7 01 Writing User Subroutines with ABAQUS L7 79 ABAQUS Using Nonlinear User Elements Various Analysis Procedures Remarks Implementation of a user element with inertia effects in a dynamic anal
124. ook at the file film_test 1 f Itis in the directory user subroutines film dh This file contains the correct format for and 46 Question WI 1 Which variable is assigned the value of zi Question WI 2 What is derivative of the absolute value of a variable that is what is T when y x 2 Submit the input file film test 1 inpto ABAQUS The command to submit the file is abaqus j film test 1 user film test 1 f By default on our system the analysis will run as a background process Look at the contents of the film test 1 10g file to see how the analysis is progressing 3 Look at the number of iterations ABAQUS needed for each increment of the analysis this information be found in either the status sta or the message msg files Enter the total number of iterations that ABAQUS needed during the analysis to obtain the solution in Table W1 1 Question WI 3 Where is the easiest place to find the total number of iterations used during an analysis 4 If you want to provide the functionality of a user subroutine to another user but you do not want to provide them with the source code you will have to compile the user subroutine prior to running ABAQUS However to do this you need to know what the proper compile command is for your system Question WI 4 How can you find out the proper compile command for your system Optional 1 Once you find the proper compile commands for your system t
125. or beam elements the hourglass stiffness and the transverse shear stiffness must be specified with the HOURGLASS STIFFNESS and TRANS VERSE SHEAR STIFFNESS options respectively 7 01 Writing User Subroutines with ABAQUS L6 31 7 01 ABAQUS UMAT Interface Usage Hints At the start of a new increment the strain increment is extrapolated from the previous increment This extrapolation which may sometimes cause trouble is turned off with STEP EXTRAPOLATION NO f the strain increment is too large the variable PNEWDT can be used to suggest a reduced time increment The code will abandon the current time increment in favor of a time increment given by PNEWDT DTIME The characteristic element length can be used to define softening behavior based on fracture energy concepts Writing User Subroutines with ABAQUS L6 32 ABAQUS Example 1 Isotropic Isothermal Elasticity Example 1 Isotropic Isothermal Elasticity Governing Equations sothermal elasticity equation with Lam s constants o NO 2UE or in a Jaumann corotational rate form 3 2WE jy The Jaumann rate equation is integrated in a corotational framework 2 The appropriate coding is shown on the following pages 7 01 Writing User Subroutines with ABAQUS L6 33 Example 1 Isotropic Isothermal Elasticity ABAQUS 1111111111 ee ee ee eee ee ee
126. ped as they are shown or listed 1 Find out where the ABAQUS release is installed by typing UNIX and Windows NT abqxxx whereami where abqxxx is the name of the ABAQUS execution procedure on your system It can be defined to have a different name For example the command for the 6 2 1 version might be aliased to abq621 This command will give the full path to the directory where ABAQUS is installed referred to here as abaqus dir 2 Extract all the workshop files from the course tar file by typing UNIX abaqus dir exec per1 abaqus dir samples course setup pl Windows abaqus dirNexecNPerl abaqus_dir samples course_setup pl An alternative method is to edit the script course setup p1l and change the first line of the script to the local installation of the Perl interpreter or the one available in abaqus_dir exec For example usr bin perl becomes abaqus_dir exec perl 7 01 Preliminaries for ABAQUS Workshops e ABAQUS Workshop Preliminaries 14422242099 3 The script will install the files into the current working directory You will be asked to verify this and to choose which files you wish to install Choose for the appropriate lecture series when prompted Once you have selected the lecture series type to skip the remaining lectures and to proceed with the installation of the chosen workshops 9 01 Preliminaries for ABAQUS Workshops t ABAQUS Workshop Preliminaries Basic O
127. perating System Commands You can skip this section and go directly to the workshops if everyone in your group is familiar with the operating system Note The following commands are limited to those necessary for doing the workshop exercises Working with Directories 1 Start in the current working directory List the directory contents by typing UNIX ls Windows NT dir Both subdirectories and files will be listed On some systems the file type directory executable etc will be indicated by a symbol 2 Change directories to a workshop subdirectory by typing Both UNIX and Windows NT ed dir name 3 To list with a long format showing sizes dates and file type UNIX ls 1 Windows NT dir 4 Return to your home directory UNIX cd Windows NT cd home dir List the directory contents to verify that you are back in your home directory 5 Change to the workshop subdirectory again 6 The is a wildcard character and can be used to do a partial listing For example list only ABAQUS input files by typing UNIX ls inp Windows NT dir inp Working with Files Use one of these files filename inp to perform the following tasks 1 Copy filename inp to a file with the name newcopy inp by typing UNIX cp filename inp newcopy inp Windows NT copy filename inp newcopy inp 7 01 Preliminaries for ABAQUS Workshops dics 9 01 ABAQUS Workshop Preliminaries 14422242099 2 Rename or move this new file to n
128. rements wm 0 3 o1 08 Eee Did not run to completion 7 01 Writing User Subroutines with ABAQUS WA2 2
129. res HEAT TRANSFER transient SOILS CONSOLIDATION COUPLED TEMPERATURE DISPLACEMENT transient COUPLED THERMAL ELECTRICAL TRANSIENT The heat pore fluid capacity term must be included in the flux vector and the Jacobian f the user element has no heat pore fluid capacity the user element usage is the same as in the corresponding steady state analysis 7 01 Writing User Subroutines with ABAQUS L7 69 7 01 ABAQUS 3 Using Nonlinear User Elements in Various Analysis Procedures Transient Heat Transfer Analysis LFLAGS 1 indicates the transient heat transfer procedure type being used LFLAGS 1 232 Transient heat transfer analysis with automatic time incrementation LFLAGS 1 233 Transient heat transfer analysis with fixed time incrementation Additional coding related to the transient terms in the equilibrium equation is required for the flux vector and Jacobian Writing User Subroutines with ABAQUS L7 70 ABAQUS 1771117111 Using Nonlinear User Elements in Various Analysis Procedures The flux vector must contain the externally applied fluxes the fluxes due to conduction and the fluxes due to changes in internal energy N con N N N F PFQtF ga If the heat capacity matrix C is constant the flux due to the heat capacity terms is N Lo F C A0 At where A0 is the temperature increment If the heat capacity matrix varies with tempera
130. rge strain calculations The necessary rotations of stress and strain are taken care of by ABAQUS 7 01 Writing User Subroutines with ABAQUS L6 66 Example 4 Kinematic Hardening Plasticity Rotation of the shift tensor and the elastic and plastic strains 15 accomplished by the calls to RoTSIG The call CALL ROTSIG STATEV 1 DROT EELAS 2 NDI NSHR applies the incremental rotation DROT to STATEV and stores the result in ELAS STATEV consists of NDI direct components and NSHR shear components A value of 1 is used as the fourth argument to indicate that the transformed array contains tensor shear components such as 0 A value of 2 indicates that the array contains engineering shear components such as E The rotation should be applied prior to the integration procedure 7 01 Writing User Subroutines with ABAQUS L6 67 Example 4 Kinematic Hardening Plasticity ABAQUS 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 UMAT 15 straightforward and follows the examples discussed here 7 01 Writing User Subroutines with ABAQUS L6 68 ABAQUS pis Example 5 Isotropic Hardening Plasticity Example 5 Isotropic Hardening Plasticity Governing Equations
131. ry precompiling the user subroutine 2 Create symbolic links to the PARAM INC file The syntax to create this link is found in the communications com file it will vary from system to system 7 01 Writing User Subroutines with ABAQUS W1 2 ABAQUS Workshop 1 User Subroutine FILM 3 Submit the input file and the precompiled user subroutine to ABAQUS abaqus j film test 2 input film test 1 user film test 1 o 4 Compare the wall clock times for the two simulations How much time was saved Steady State Solution Model with Error 1 1 Submit the input file film_test e1 inp to ABAQUS using the subroutine in film test el f This model contains an error in the definition of a 2 third 500 0d0 abs temp sink two third The correct definition of h 2 should contain a term a1 which is defined by the sign of temp sink al sign 1 0 temp sink 2 al third 500 0d0 abs temp sink two third Question WI 5 Do you think this is a significant error 2 Look at the number of iterations ABAQUS needed for each increment of the analysis Enter the total number of iterations that ABAQUS needed during the analysis to obtain a solution in Table W1 1 3 Compare the final temperature values from this analysis with those from the film test 1 analysis Steady State Solution Model with Error 2 1 Submit the input file film _test e2 inp to ABAQUS using the subroutine in film test e2 f dh This
132. s parameters in user subroutines Using element numbers as values for conditional statements can limit a user subroutine to a specific mesh layout This programming design technique can make the use of the subroutine in general production work tedious Can you think of other techniques that can be used with this user subroutine Defining E correctly is extremely important in this application Analyses will converge very slowly if it is incorrect Writing User Subroutines with ABAQUS 3 15 ABAQUS Workshop User Subroutine FILM Workshop User Subroutine FILM Goals To learn how to find the compile and link commands used on your system To see how sensitive the rate of convergence is on the value of a To see if the results are sensitive to the value of Problem Description User subroutine FILM will be used to define 1 3 h 8 500 6 where 100 C is the fluid temperature 7 01 Writing User Subroutines with ABAQUS L3 16 7 01 ABAQUS 1771117111 Workshop User Subroutine FILM The subroutine is tested a two element model All nodes initially have a temperature of 77 C 0 t 0 77 The nodes on one end are set to 277 C The other end has the film condition applied The steady state solution is obtained The rate of convergence and results are compared with the following 1 values of 46 h 2 h 2 h 2
133. s of time temperature and user defined field variables User element properties Load types as well as total and incremental load magnitudes Element type and user defined element number Procedure type flag and for dynamics integration operator values Current step and increment numbers Writing User Subroutines with ABAQUS L7 24 ABAQUS UEL Interface The following quantities must be defined Right hand side vector residual nodal fluxes or forces Jacobian stiffness matrix Solution dependent state variables The following variables may be defined Energies associated with the element strain energy plastic dissipation kinetic energy etc Suggested new reduced time increment A complete description of all parameters is provided in Section 24 2 19 of the ABAQUS Standard User s Manual 7 01 Writing User Subroutines with ABAQUS L7 25 7 01 ABAQUS UEL Interface The header is usually followed by dimensioning of local arrays It is good practice to define constants via parameters and to include comments dimension b 2 7 gauss 2 parameter zero 0 d0 1 40 two 2 d0 three 3 d0 four 4 d0 1 six 6 d0 eight 8 d0 twelve 12 d0 data gauss 211324865d0 788675135d0 simple 2 d linear beam element with generalized section properties get length and direction and cross section dimensions The PARAMETER assignments yield accurate floating point constant defi
134. sage Accessing Solution Data at Material Points e ABAQUS Standard allows the f to be defined as functions of solution data such as stress or strain at the material points The values of the solution data provided are from the beginning of the current increment e Subroutine USDFLD must use the ABAQUS utility routine GETVRM to access this material point data 7 01 Writing User Subroutines with ABAQUS L4 11 unn ABAQUS Usage Explicit vs Implicit Solution e Since the USDFLD subroutine has access to material point quantities only at the start of the increment the solution dependence introduced in this way is explicit The material properties for a given increment are not influenced by the results obtained during the increment Hence the accuracy of the results depends on the size of the time increment Therefore the user can control the time increment in the USDFLD subroutine by means of the variable PNEWDT 7 01 Writing User Subroutines with ABAQUS L4 12 ABAQUS ABAQUS Usage For most nonlinear material behavior 1 plasticity ABAQUS Standard uses an implicit integration method to calculate the material behavior at the end of the current increment Such an implicit integration method allows ABAQUS Standard to use any size time increment and yet still have the solution remain bounded Using Solution Dependent State Variables Solution dependent state variables SDVs must be
135. sed all of the load definition is applied in user subroutine UEL a time dependent load magnitude vector must be coded If the load depends on the solution variables the corresponding load stiffness contributions matrix to the Jacobian should be included for best performance 7 01 Writing User Subroutines with ABAQUS 7 02 7 01 ABAQUS UEL Interface UEL Interface The interface to user subroutine UEL 15 SUBROUTINE UEL RHS AMATRX SVARS ENERGY NDOFEL NRHS NSVARS 1 PROPS NPROPS COORDS MCRD NNODE U DU V A JTYPE TIME 2 DTIME KINC JELEM PARAMS NDLOAD JDLTYPE ADLMAG 3 PREDEF NPREDF LFLAGS MLVARX DDLMAG MDLOAD PNEWDT JPROPS 4 NJPRO PERIOD C INCLUDE PARAM INC C DIMENSION RHS MLVARX AMATRX NDOFEL NDOFEL PROPS SVARS ENERGY COORDS MCRD NNODE U NDOFEL DU MLVARX V NDOFEL A NDOFEL TIME 2 PARAMS JDLTYP MDLOAD ADLMAG MDLOAD DDLMAG MDLOAD PREDEF 2 NPREDF NNODE LFLAGS JPROPS The include statement sets the proper precision for floating point variables REAL 8 on most machines Writing User Subroutines with ABAQUS L7 23 7 01 ABAQUS UEL Interface UEL Variables The following quantities are available in UEL Coordinates displacements incremental displacements and for dynamics velocities and accelerations SDVs at the start of the increment Total and incremental value
136. sing the stiffness from the end of the previous iteration 7 01 Writing User Subroutines with ABAQUS L1 10 Including User Subroutines in Model Including User Subroutines in a Model To include user subroutines in an analysis specify the name of a file with the user parameter on the ABAQUS execution command abaqus job my analysis user my subroutine The file should be either source code subroutine f oran object file ny analysis o The file extension can be included user my analysis f otherwise ABAQUS will determine automatically which type of file is specified 7 01 Writing User Subroutines with ABAQUS L1 11 ABAQUS HB Including User Subroutines in a Model Using Multiple User Subroutines in a Model When multiple user subroutines are needed in the analysis the individual routines can be combined into a single file A given user subroutine such as UMAT or FILM should appear only once in the specified user subroutine source or object code Restart Analyses When an analysis that includes a user subroutine is restarted the user subroutine must be specified again because the subroutine object or source code is not stored on the restart res file 7 01 Writing User Subroutines with ABAQUS 1 12 ABAQUS ET 1 Writing Output from User Subroutines Writing Output from User Subroutines The following unit numbers can be used within a user subroutine to read and write data fro
137. sis because of the nonlinear nature of finite rotations 7 01 Writing User Subroutines with ABAQUS 7 17 ABAQUS UEL Interface User elements can have internal degrees of freedom in the sense that they belong to nodes that are not connected to other elements Convergence will be checked for the internal degrees of freedom so it is important to choose the internal degrees of freedom appropriately 1 e an internal degree of freedom 1 should have the dimension of displacement For efficiency reasons you should choose internal degree of freedom numbers that are present at external nodes on the element or elsewhere in the model 7 01 Writing User Subroutines with ABAQUS L7 18 ABAQUS UEL Interface More on Keywords and Parameters The maximum number of coordinates at any node of the element is specified with the COORDINATES parameter The value of COORDINATES may be increased to match the highest displacement degree of freedom active on the element The total number of SDVs per element is set with the VARIABLES parameter If the element is integrated numerically VARIABLES should be set equal to the number of integration points times the number of SDVs per point Solution dependent state variables can be output with the identifiers SDV1 SDV2 etc SDVs for any element can be printed only to the data dat results 11 or output database odb files and plotted as plots in ABAQUS Viewer
138. ssing Solution Data at Material Points 14 11 Explicit vs Implicit Solution 14 12 7 01 Writing User Subroutines with ABAQUS TOC 2 7 01 ABAQUS PP 71111 Using Solution Dependent State Variables User Subroutine GETVRM GETVRM Subroutine Interface Variables Provided to GETVRM Variables Returned by Elements Supported by GETVRM USDFLD Subroutine Variables to be Defined Variables that may be Defined Variables for Information Only USDFLD and Automatic Time Incrementation Example Laminated Composite Plate Failure Material Model Partial Input Data 55 stues hehe User Subroutine oua ete E E Remarks 522 59 are Ted E EE Rd Lecture 5 User Subroutine URDFIL PI OCOD ABAQUS 06086 EL A A eee de wen aU sci d Utility Routine POSFIL 2g ere rne eR Cera Utility Routine DBFILE ee eee URDFIL Subroutine Variables to be Defined Variables for Informatio
139. stiffness when it is set to 0 UMAT returns only the elastic stiffness 7 01 Writing User Subroutines with ABAQUS W2 2 7 01 ABAQUS The file umat axi2 inp contains the input data for the model and the file umat iso mises umat f contains the source code for the UMAT The file axi2 inp 15 set up for a displacement control analysis the seventh material constant is set to 1 which provides ABAQUS Standard with the correct tangent stiffness Submit the input file Compare the results of this analysis with those obtained for the displacement control analysis using the built in Mises plasticity routine Enter the flag setting number of increments and the total number of iterations required to complete the analysis in the displacement control section of Table W2 1 Modify the material constants so that the seventh constant under the USER MATERIAL option is set to 0 which provides ABAQUS Standard with the incorrect tangent stiffness Repeat Step 2 Step 4 Question W2 1 Are the results obtained with the modified stiffness matrix correct Load Control Analyses with the UMAT Material Model Now repeat the analysis under a state of load control l Copy axi2 inp into another file name and modify it as follows remove the nonzero displacement boundary conditions and add a negative pressure loading of 40000 on the element in the axial direction Set the seventh material constant to 1 Submit the job Enter the flag
140. subroutine with a given dimension are not used as if they had a larger dimension For example if a user subroutine is written such that the number of SDVs is 10 but only 8 SDVs are specified on the DEPVAR option the user subroutine will overwrite data stored by ABAQUS the consequences of this accident will be unpredictable 7 01 Writing User Subroutines with ABAQUS L1 25 7 01 ABAQUS Lecture 2 User Subroutine DLOAD Overview ntroduction ABAQUS Usage DLOAD Subroutine Interface Example Transient Internal Pressure Loading Example Asymmetric Pressure Loads Writing User Subroutines with ABAQUS L2 1 ABAQUS Introduction Introduction User subroutine DLOAD is typically used when a load is a complex function of time and or position Loads that are simple functions of time can usually be modeled with the AMPLITUDE option The subroutine can also be used to define a load that varies with element number and or integration point number 7 01 Writing User Subroutines with ABAQUS 12 2 ABAQUS ABAQUS Usage ABAQUS Usage The subroutine is called when the DLOAD or DSLOAD options contain a nonuniform load type label Load type label For example DLOAD ELTOP P1NU 10 0 magnitude specifies that the elements in element set ELTOP will be subject to a force per area on the 1 face of solid continuum elements or a force per unit length in the
141. t state variables can be output with identifiers SDV1 SDV2 etc Contour path and X Y plots of SDVs can be plotted in ABAQUS Viewer nclude only a single VUMAT subroutine in the analysis If more than one material must be defined test on the material name in the VUMAT routine and branch 7 01 Writing User Subroutines with ABAQUS L6 87 7 01 ABAQUS VUMAT Interface The VUMAT subroutine header is shown below SUBROUTINE VUMAT C Read only 1 NBLOCK NDIR NSHR NSTATEV NFIELDV NPROPS LANNEAL STEPTIME TOTALTIME DT CMNAME COORDMP CHARLENGTH PROPS DENSITY STRAININC RELSPININC TEMPOLD STRETCHOLD DEFGRADOLD FIELDOLD STRESSOLD STATEOLD ENERINTERNOLD ENERINELASOLD 6 TEMPNEW STRETCHNEW DEFGRADNEW FIELDNEW C Write only 7 STRESSNEW STATENEW ENERINTERNNEW ENERINELASNEW Ui amp UJ INCLUDE VABA PARAM INC Writing User Subroutines with ABAQUS L6 88 ABAQUS VUMAT Interface DIMENSION PROPS NPROPS DENSITY NBLOCK COORDMP NBLOCK CHARLENGTH NBLOCK STRAININC NBLOCK NDIR NSHR RELSPININC NBLOCK NSHR TEMPOLD NBLOCK STRETCHOLD NBLOCK NDIR NSHR DEFGRADOLD NBLOCK NDIR NSHR NSHR FIELDOLD NBLOCK NFIELDV STRESSOLD NBLOCK NDIR NSHR STATEOLD NBLOCK NSTATEV ENERINTERNOLD NBLOCK ENERINELASOLD NBLOCK TEMPNEW NBLOCK STRETCHNEW NBLOCK NDIR NSHR DEFGRADNEW NBLOCK NDIR NSHR NSHR FIELDNEW NBLOCK NFIELDV STRESSNEW NBLOCK NDIR NSHR STATENEW
142. thm to define the effective shear modulus However this algorithm is not very suitable because it 1s unstable at higher strain levels which is readily demonstrated by stability analysis see the Example Problems Manual for details To obtain a more stable algorithm we write the nonlinear stress strain law in the form 3 zi 3 Yi BO A BO Eq 4 4 where D is an as yet unknown coefficient 7 01 Writing User Subroutines with ABAQUS L4 31 Example Laminated Composite Plate Failure Using a stability analysis of the expression in Equation 4 4 the optimal stress strain algorithm is found to be i 3 1 1 20 0 5 Y 1 1 1 1 Eq 4 5 1 30G Q 5 Writing this expression in terms of a damage parameter d gives pn n 1 d Gjiy gt where 3o G 4 o2 2a o2 9 Eq 4 6 1 30G gt 02 This relation is implemented in user subroutine USDFLD and the value of the damage parameter is assigned directly to the third field variable FV3 used for definition of the elastic properties 7 01 Writing User Subroutines with ABAQUS L4 32 ABAQUS 1771117111 Example Laminated Composite Plate Failure The following strength properties are used for the composite material transverse tensile strength Y 14 82 ksi ply shear strength S 15 5 ksi matrix compressive strength Y 36 7 ksi and fiber buckling strength X 392 7 ksi 7 01 Writing
143. tine uel rhs amatrx svars energy ndofel nrhs nsvars 1 props nprops coords mcrd nnode u du v a jtype time dtime 2 kstep kinc jelem params ndload jdltyp adlmag predef npredf 3 lflags mlvarx ddlmag mdload pnewdt jprops njprop period include aba param inc dimension rhs mlvarx amatrx ndofel ndofel svars props 1 energy 7 coords mcrd nnode u ndofel du mlvarx v ndofel 2 a ndofel time 2 params jdltyp mdload adlmag mdload 4 ddlmag mdload predef 2 npredf nnode 1lflags 4 jprops Pick up the input data sPunch props 1 Spring stiffness fPunchTarget props 2 ITarget punch force fHolderInit props 3 Initial blankholder force fractHolder props 4 Fractional change allowed tolPunch props 5 ITolerance on punch force Writing User Subroutines with ABAQUS 7 57 Example 2 Force Control Element ABAQUS 1111111111 c Calculate the punch force fPunchNew sPunch u 1 u 2 c Generate force vector and rhs 1 1 fPunchNew rhs 2 1 fpunchNew c Generate stiffness matrix amatrx 1 1 sPunch amatrx 1 2 sPunch amatrx 2 1 sPunch amatrx 2 2 sPunch c The holder force is only applied during steps 2 and 3 c if kstep eq 2 then c Ramp the punch force to the desired starting value 7 01 Writing User Subroutines with ABAQUS L7 58 7 01 ABAQUS 1111111111 fHolder time 1 fHolderInit period svars 2 fHolder
144. tions e Stresses and strains are stored as vectors For plane stress elements 055 0 5 For plane strain and axisymmetric elements 055 033 O For three dimensional elements 055 044 O12 054 For three dimensional elements this storage scheme is inconsistent with that for ABAQUS Standard The shear strain is stored as tensor shear strains 1 2 12 7 01 Writing User Subroutines with ABAQUS L6 94 ABAQUS VUMAT Interface The deformation gradient is stored similar to the way in which symmetric tensors are stored For plane stress elements F5 Fiz F For plane strain and axisymmetric elements Fy F For three dimensional elements Fir Faz Fiz E32 7 01 Writing User Subroutines with ABAQUS L6 95 ABAQUS VUMAT Interface VUMAT Formulation Aspects Vectorized Interface n VUMAT the data are passed in and out in large blocks dimension NBLOCK NBLOCK typically is equal to 64 or 128 Each entry in an array of length NBLOCK corresponds to a single material point material points in the same block have the same material name and belong to the same element type e This structure allows vectorization of the routine vectorized VUMAT should make sure that all operations are done in vector mode with NBLOCK the vector length n vectorized code branching inside loops should be avoided
145. tressNew k 2 stressNew k 3 stressNew k 4 if nshr gt 1 stressNew k 5 stressNew k 6 end if C Update the state variabl stateNew k 1 s11 s22 s33 s12 then factor factor factor factor Smean Smean Smean S13 factor 823 factor es StateOld k 1 deqps 7 01 Writing User Subroutines with ABAQUS L6 112 Example 7 VUMAT for Isotropic Hardening ABAQUS 1111111111 C Update the specific internal energy C if nshr eq 1 then stressPower half stressOld k 1 stressNew k 1 strainInc k 1 stressOld k 2 stressNew k 2 strainInc k 2 stressOld k 3 stressNew k 3 strainInc k 3 stressOld k 4 stressNew k 4 strainInc k 4 else stressPower half stressOld k 1 stressNew k 1 strainInc k 1 stressOld k 2 stressNew k 2 strainInc k 2 stressOld k 3 stressNew k 3 strainInc k 3 stressOld k 4 stressNew k 4 strainInc k 4 stressOld k 5 stressNew k 5 strainInc k 5 stressOld k 6 stressNew k 6 strainInc k 6 end if enerInternNew k enerInternOld k stressPower density k 7 01 Writing User Subroutines with ABAQUS L6 113 ABAQUS 1111111111 Example 7 VUMAT for Isotropic Hardening C C Update the dissipated inelastic specific energy C plasticWorkInc half yieldOld yieldNew deqps enerInelas
146. trix for the base state and the force vector that contains only external perturbation loads LFLAGS 3 2100 Recovery return the force vector that contains the difference between external perturbation loads and internal perturbation forces FO SAP ak Aa This force vector 1s used for the reaction force calculation 7 01 Writing User Subroutines with ABAQUS L7 66 ABAQUS 1771117111 Using Nonlinear User Elements in Various Analysis Procedures For a FREQUENCY analysis a stiffness and mass matrix must be returned by the UEL The value of LFLAGS 3 denotes the matrix to be returned in a call LFLAGS 3 2 Return the stiffness matrix LFLAGS 3 4 Return the mass matrix No element output is available for user elements utilized with the FREQUENCY option 7 01 Writing User Subroutines with ABAQUS 27 67 ABAQUS Using Nonlinear User Elements Various Analysis Procedures The eigenfrequencies and eigenvectors obtained with the FREQUENCY option can be used in all modal dynamics procedures MODAL DYNAMIC STEADY STATE DYNAMICS RESPONSE SPECTRUM RANDOM RESPONSE User elements cannot be used in the STEADY STATE DYNAMICS DIRECT and BUCKLE procedures 7 01 Writing User Subroutines with ABAQUS L7 68 Using Nonlinear User Elements in Various Analysis Procedures Transient Analysis First order transient effects must be included in UELs that are used with the following procedu
147. ture such as is the case during phase transformations the flux vector must be calculated from the energy change vector N cap F AU At 7 01 Writing User Subroutines with ABAQUS 7 71 Using Nonlinear User Elements in Various Analysis Procedures The Jacobian will contain contributions from the conductivity and heat capacity terms If the heat capacity matrix is constant the Jacobian has the form Ku AT where K is the conductivity matrix If the heat capacity matrix is a function of temperature the Newton algorithm requires the heat capacity at the temperature at the end of the increment NM C 9 4 ar For cases in which the heat capacity varies strongly such as in case of latent heat convergence may be difficult If the user element contains no heat capacity terms the formulation for transient heat transfer is the same as for steady state heat transfer 7 01 Writing User Subroutines with ABAQUS 7 72 7 01 ABAQUS Using Nonlinear User Elements Various Analysis Procedures Dynamic Analysis Second order transient inertial effects must be included in UELs that are used with direct integration dynamic analysis 4DYNAMIC LFLAGS 1 indicates the dynamics procedure type being used e LFLAGS 1 211 Dynamic procedure with automatic time incrementation LFLAGS 1 212 Dynamic procedure with fixed time incrementation Additional coding related to transient
148. used to calculate the values of the active failure indices The value for the matrix tensile cracking matrix compressive failure index e is stored as SDV 1 When the index exceeds a value of 1 0 the value of f is set to 1 0 The value for the fiber matrix shear failure index e 1s stored as SDV 2 When the index exceeds a value of 1 0 the value of f is set to 1 0 Subroutine USDFLD is also used to calculate the value of the damage parameter d in the nonlinear stress strain relationship The value of d is stored as SDV 3 and e Table 4 1 shows the dependence of material properties on the f 7 01 Writing User Subroutines with ABAQUS L4 36 ABAQUS Example Laminated Composite Plate Failure Table 4 1 Dependence of Elastic Material Properties on f Material State Elastic Properties ti fo fa No failure or damage Eo Gp 0 0 0 Matrix failure E 0 0 1 0 0 Fiber matrix failure Ey En 0 0 0 1 0 Shear damage Vp 0 0 0 1 Matrix amp fiber matrix 0 0 0 1 1 0 Matrix amp damage E 0 0 0 1 0 1 Fiber matrix amp damage Ej E 0 0 0 1 1 All failure modes E 0 0 0 1 1 1 7 01 Writing User Subroutines with ABAQUS L4 37 7 01 ABAQUS 1111111111 Example Laminated Composite Plate Failure Partial Input Data HEADING NONLINEAR SHEAR WITH BUILT IN EXPLICIT FAILURE kk FV1 MATRIX COMPRESSIVE TENSILE FAILURE
149. utines with ABAQUS L5 13 7 01 ABAQUS ELEMENT TYPE CPS4R l 1 2 23 22 ELGEN ELSET ALL 1 20 1 1 4 21 20 Example Using URDFIL to Terminate an Analysis SOLID SECTION ELSET ALL MATERIAL STEEL ORIENTATION BEAM 0 1 ORIENTATION NAME BEAM 1 0 0 0 1 0 1 0 MATERIAL NAME STEEL ELASTIC 2E11 0 3 PLASTIC 2E8 0 2E9 0 1 BOUNDARY LEFT 1 2 O0 Writing User Subroutines with ABAQUS L5 14 Example Using URDFIL to Terminate an Analysis ABAQUS STEP NLGEOM INC 30 STATIC 0 1 1 CLOAD 63 2 1E6 NODE PRINT FREQ 0 EL PRINT FREQ 0 Write data to the results file frequently to ensure that you EL FILE FREQUENCY 1 can monitor the progress of SINV the analysis NODE FILE FREQUENCY 1 U END STEP 7 01 Writing User Subroutines with ABAQUS L5 15 7 01 ABAQUS lei Example Using URDFIL to Terminate an Analysis User Subroutine SUBROUTINE URDFIL LSTOP LOVRWRT KSTEP KINC l DTIME TIME INCLUDE ABA PARAM INC DIMENSION ARRAY 513 JRRAY NPRECD 513 TIME 2 EQUIVALENCE ARRAY 1 JRRAY 1 1 PARAMETER TOL 5 0D8 PARAMETER DEFL 1 5D 1 LMISES 0 LDEFL 0 C C Assume that we do not mind if fil file results are C overwritten LOVRWRT 1 C C Find current increment Writing User Subroutines with ABAQUS L5 16 7 01 ABAQUS Example Using URDFIL to Terminate an Analysis C CALL POSFIL KSTEP KINC ARRAY JRCD C C
150. xample Transient Internal Pressure Loading L2 8 7 01 Writing User Subroutines with ABAQUS TOC 1 ABAQUS Pr 71111 Partial Input Dat L2 9 User SUDEPOULDIB a acce ede Soci SOROR di sca L2 10 ETT L2 11 Example Asymmetric Pressure L2 12 Partial Input Dd iud ura de RP dc Ph s L2 14 User a eae RAS RR HS 1 2 15 Re ee a 1 2 16 Lecture 3 User Subroutine FILM licere EP L3 2 ABAQUS 13 3 FILM Subroutine L3 4 Variables to be Denied 25a eicere qr RIO RR a RR CERA L3 Variables for Information Only L3 6 Example Radiation in Finned L3 8 Pastel Inpul Dala dede E3 12 Usor a ds qe tcc CRI L3 13 RGM sa Ray ep APRI Nel mp L3 15 Workshop User Subroutine L3 16 GO MT L3 16 Problem Description L3 16 Lecture 4 User Subroutine USDFLD INMOCUCHOD TERT 14 2 ABAQUS 14 3 Defining Field Variable Dependent Material Properties 14 5 Defining Field Variables 14 9 Acce
151. ysis if there are any cutbacks in the increment size and may not provide the correct number if there are any severe discontinuity iterations How can you find out the proper compile command for your system You could look in the communications com file or you could use the abaqus help environment command If you look in the communications file you will find the following lines ln s usr abaqus60 abqver sgi4000 release sgi4000 r5 07 001 site aba param dp inc aba param inc ln s usr abaqus60 abqver sgi4000 release sgi4000 r5 07 001 site aba param dp inc ABA PARAM INC echo Compiling film test e3 f 77 G 0 mp c mips2 32 O2 film test e3 f Question WI S Answer Question WI 6 Answer 7 01 The symbolic links ln s commands are needed to include the ABA PARAM INC file during the compile command It is important to use all the flags and settings on the compile command that are found by either method Do you think this is a significant error Itis not likely to be a significant error because the sign of the derivative will always be positive in this example 0 0 gt 0 Were there any differences in the results Were they significant There were differences between the two analyses however the differences were minor errors in the fourth significant figure of the numbers Writing User Subroutines with ABAQUS WA1 2 ABAQUS Answers to Workshop 1 Question WI 7
152. ysis is fairly complicated Simplifications to the UEL can be realized if The ALPHA parameter on the DYNAMIC option is set to zero No inertia effects are included in the user element Inertia effects can be included indirectly by overlaying standard ABAQUS elements on top of user elements In this case the ABAQUS elements should have negligible stiffness For example it is possible to overlay B23 elements on top of the beam elements with nonlinear section behavior shown in the first example 7 01 Writing User Subroutines with ABAQUS L7 80 ABAQUS 17717177111 Workshop Preliminaries Setting Up the Workshop Directories and Files If you are taking this seminar in an HKS office the steps in the following section have already been done for you skip to Basic Operating System Commands p WP 3 If everyone in your group is familiar with the operating system skip directly to the workshops The workshop files are included on the ABAQUS release CD If you have problems finding the files or setting up the directories ask your systems manager for help Note for systems managers If you are setting up these directories and files for someone else please make sure that there are appropriate privileges on the directories and files so that the user can write to the files and create new files in the directories Workshop File Setup Note UNIX is case sensitive Therefore lowercase and uppercase letters must be ty

Download Pdf Manuals

image

Related Search

Related Contents

HP 6000 Router Series Installation Manual  Procedimiento para la correcta instalación  Samsung UE75ES9000S Uživatelská přiručka  取扱説明書 - 岩通計測  KEYLESS 042  取扱説明書 - サンコー    XL-5750/5350/5250 設置ガイド  

Copyright © All rights reserved.
Failed to retrieve file