Home
Abaqus User Subroutines Reference Manual
Contents
1. du2 indx 2 2 du2 indx 1 3 du2 indx 2 3 du2 indx 3 3 du2 indx 1 4 du2 indx 2 4 du2 indx 3 4 du2 indx 4 4 du2 indx 1 5 du2 indx 2 5 du2 indx 3 5 du2 indx 4 5 du2 indx 5 5 du2 indx 1 6 du2 indx 2 6 du2 indx 3 6 du2 indx 4 6 du2 indx 5 6 du2 indx 6 6 du2 indx 1 7 du2 indx 2 7 du2 indx 3 7 du2 indx 4 7 du2 indx 5 7 du2 indx 6 7 xpow2 xpow2 xpow2 xpow2 zero zero zero xpow2 zero zero zero zero xpow2 zero zero zero zero zero xpow2 r FF d2UdE22dE22 d2UdE11dE33 d2UdE22dE33 d2UdE33dE33 d2UdE12dE12 d2UdE13dE13 d2UdE23dE23 termi dUdE11 xpow a2UdE11dE11 dE11Dj d2UdE11dE22 dE22Dj d2UdE11dE33 dE33Dj termi dUdE22 xpow d2UdE22dEll dE11Dj d2UdE22dE22 dE22Dj d2UdE22dE33 dE33Dj terml dUdE33 xpow d2UdE33dE11 dE11Dj d2UdE33dE22 dE22Dj d2UdE33dE33 dE33Dj terml dUdEl2 xpow two d2UdE12dE12 dE12Dj terml dUdE13 xpow two d2UdE13dE13 dE23Dj terml dUdE23 xpow two d2UdE23dE23 dE13Dj du2 indx 7 7 dUdE11 d2E11DjDj dUdE22 d2E22DjDj dUdE22 d2E22DjDj two dUdE12 d2E12DjDj 1 1 21 10 Xxx FF FF FF FF HF HF HF HF Hr dUdE13 d2E13D4Dj dUdE23 d2E23DjDj d2UdE11dE11 dE11Dj dE11Dj d2UdE22d
2. DSLIP NFDIR SED SFD Aryl increment in nonrecoverable sliding motion slip If LM was 0 in the previous iteration this array is passed in as the user defined values during the previous iteration otherwise it will be zero The array should be updated only if the return value of LM is 0 This array is useful to detect slip reversals between iterations It is used by the output options to indicate whether this point is sticking or slipping Upon convergence of an increment the values in DSLIP NFDIR are accumulated in SLIP NFDIR which are stored as the plastic strains This variable is passed in as the value of the elastic energy density at the start of the increment and should be updated to the elastic energy density at the end of the increment This variable is used for output only and has no effect on other solution variables This variable should be defined as the incremental frictional dissipation The units are energy per unit area if the contact element or contact pair calling FRIC uses stresses as opposed to forces For regular stress analysis this variable is used for output only and has no effect on other solution variables In coupled temperature displacement and coupled thermal electrical structural analyses the dissipation is converted into heat if the gap heat generation model is used If SFD is not defined the heat generation is calculated based on the dissipation obtained as the product of the slip increment DSLIP a
3. HALF DDLMAG KDLOAD 1 DU 4 1 IF NRHS EQ 2 THEN Riks RHS 4 2 RHS 4 2 DDLMAG KDLOAD 1 END IF END IF END DO ENERGY 2 HALF FORCE U 4 U 1 END IF ELSE IF LFLAGS 1 EQ 11 OR LFLAGS 1 EQ 12 THEN DYNAMIC ALPHA PARAMS 1 BETA PARAMS 2 GAMMA PARAMS 3 DADU ONE BETA DTIME 2 DVDU GAMMA BETA DTIME DO K1 1 NDOFEL AMATRX K1 K1 AM DADU RHS K1 1 RHS K1 1 AM A K1 END DO AMATRX 1 1 AMATRX 1 1 ONE ALPHA AK AMATRX 4 4 AMATRX 4 4 ONE ALPHA AK AMATRX 1 4 AMATRX 1 4 ONE ALPHA AK AMATRX 4 1 AMATRX 4 1 ONE ALPHA AK FORCE AK U 4 U 1 SRESID 1 FORCE SRESID 4 FORCE 1 1 27 16 UEL RHS 1 1 RHS 1 1 ONE ALPHA SRESID 1 ALPHA SVARS 1 RHS 4 1 RHS 4 1 ONE ALPHA SRESID 4 ALPHA SVARS 4 ENERGY 1 ZERO DO K1 1 NDOFEL SVARS K1 6 SVARS k1 SVARS K1 SRESID K1 ENERGY 1 ENERGY 1 HALF V K1 AM V Kl END DO ENERGY 2 HALF FORCE U 4 U 1 END IF ELSE IF LFLAGS 3 EQ 2 THEN Stiffness matrix AMATRX 1 1 AK AMATRX 4 4 AK AMATRX 1 4 AK AMATRX 4 1 AK ELSE IF LFLAGS 3 EQ 4 THEN Mass matrix DO K1 1 NDOFEL AMATRX K1 K1 AM END DO ELSE IF LFLAGS 3 EQ 5 THEN Half increment residual calculation ALPHA PARAMS 1 FORCE AK U 4 U 1 SRESID 1 FORCE SRESID 4 FORCE RHS 1 1 RHS 1 1 AM A 1 ONE ALPHA SRESI
4. HF HF F 1 2 16 3 VUINTERACTION include vaba param inc dimension stress nDir nBlock luxSlv nBlock fluxMst nBlock state nStates nNodState nBlock sed nBlock sfd nBlock scd nBlock spd nBlock svd nBlock jSlvUid nNodSlv nBlock jMstUid nNodMst nBlockAnal props nProps penetration nBlock drDisp nDir nBlock dRot 2 2 nBlock stiffDef nBlock conductDef nBlock dircos nDir nDir nBlock coordSlv nDir nNodSlv nBlock coordMst nDir nNodMst nBlockAnal areaProx nBlock shapeslv nNodSlv nBlockEdge shapeMst nNodMst nBlockAnal tempSlv nBlock tempMst nBlockAnal dTempSlv nBlock dTempMst nBlockAnal fieldSlv nFields nBlock fieldMst nFields nBlockAnal dFieldSl1v nFields nBlock dFieldMst nFields nBlockAnal r Hr E E E HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF HF KF F parameter iKStep iKInc iLConType nFlags l WwWNh parameter iTimStep 1 iTimGlb 2 1 2 16 4 VUINTERACTION iDTimCur 3 iTrackThic 4 nData 4 C dimension jFlags nFlags rData nData Cc character 80 surfint surfSlv surfMst C user coding to define stress and optionally luxSlv fluxMst state sed sfd scd spd and svd C return end Variable to be defined stress nDir nBlock On entry this array contains the stress defined in the local system at the proximity points during the previous time increment It must be upda
5. Section 20 1 2 ofthe Abaqus Analysis User s Manual can use and update solution dependent state variables can use any field variables that are passed in and cannot be used in an adiabatic analysis Component ordering in tensors The component ordering depends upon whether the tensor is a strain variable or a stress variable Svmmetric tensors Tensors such as the strain and strain increment have four components and tensors such as stress have three components with the difference between the two sets of variables arising from the assumed plane stress condition The component order with the arravs for these variables is listed in the table below 1 2 3 VFABRIC Component Strain Stress 1 11 011 2 E22 022 3 E33 012 4 12 The shear strain components in user subroutine VFABRIC are stored as tensor components and not as engineering components Initial calculations and checks In the datacheck phase of the analysis Abaqus Explicit calls user subroutine VFABRIC with a set of fictitious strains and a totalTime and stepTime that are both equal to 0 0 This step serves as a check on vour constitutive relation and calculates the equivalent initial material properties upon which the initial elastic wave speeds are computed Orientation of the fabric varn In general the varn directions may not be orthogonal to each other in the reference configuration You can specify these local dire
6. Training All offices and representatives offer regularly scheduled public training classes The courses are offered in a traditional classroom form and via the Web We also provide training seminars at customer sites All training classes and seminars include workshops to provide as much practical experience with Abaqus as possible For a schedule and descriptions of available classes see www simulia com or call your local office or representative Feedback We welcome any suggestions for improvements to Abaqus software the support program or documentation We will ensure that any enhancement requests you make are considered for future releases If you wish to make a suggestion about the service or products refer to www simulia com Complaints should be addressed by contacting your local office or through www simulia com by visiting the Quality Assurance section of the Support page CONTENTS Contents 1 User Subroutines Abaqus Standard subroutines CREEP Define time dependent viscoplastic behavior creep and swelling 1 1 1 DFLOW Define nonuniform pore fluid velocitv in a CaretConsolidation analvsis 1 1 2 DFLUX Define nonuniform distributed flux in a heat transfer or mass diffusion analvsis 1 1 3 DISP Specify prescribed boundarv conditions 1 1 4 DLOAD Specify nonuniform distributed loads 1 1 5 FILM Define nonuniform film coefficient and associated sink temperatures for heat transfer analysis 1 1 6 FLOW Define nonunifo
7. d2uDiDi nblock nInv nInv 1 2 Arrays of second derivatives of strain energy potential with respect to the scalar invariants using triangular storage 0 U O1 OI ha 1 2 8 4 VUANISOHVPER INV stateNew nblock nstatev State variables at each material point at the end of the increment You define the size of this array by allocating space for it see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information Variables passed in for information nblock Number of material points to be processed in this call to VUANISOHYPER_ STRAIN nFiber Number of families of fibers defined for this material ninv Number of scalar invariants jElem nblock Arrav of element numbers kIntPt Integration point number kLayer Layer number for composite shells kSecPt Section point number within the current layer cmname User specified material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ 7 character string To avoid conflict you should not use ABQ _ as the leading string for cmname nstatev Number of user defined state variables that are associated with this material type you define this as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variabl
8. i_ufld Temp 8 c indices for the velocitv arrav V PARAMETER i ufld SpaVelX 1 i_ufld SpaVelY 2 i_ufld SpaVelz 3 i_ufld RotVelx 4 i ufld_RotVelY 5 i ufld RotVelz 6 i_ufld DAcoPress 7 i ufld DTemp 8 c indices for the acceleration arrav A PARAMETER i ufld SpaAccelX 1 1 2 11 2 VUFIELD i ufld SpaAccelY i ufld SpaAccelZ i ufld RotAccelX i ufld RotAccelY i ufld RotAccelZ i ufld DDAcoPress i ufld DDTemp non on nau fr WwW ND DIMENSION FIELD NBLOCK NCOMP NFIELD DIMENSION JNODEID NBLOCK TIME 4 COORDS 3 NBLOCK DIMENSION U 8 NBLOCK V 8 NBLOCK A 8 NBLOCK user coding to define FIELD RETURN END Variable to be defined FIELD NBLOCK NCOMP NFIELD Array of field variable values at a collective number of nodes NBLOCK see NBLOCK below When updating one field variable at a time only the value of the specified field variable KFIELD must be returned In this case NFIELD is passed into user subroutine VUFIELD with a value of 1 and FIELD is thus dimensioned as FIELD NBLOCK NCOMP 1 When updating all field variables simultaneously the values of the specified number of field variables must be returned In this case FIELD is dimensioned as FIELD NBLOCK NCOMP NFIELD where NFIELD is the number of field variables specified and KFIELD which is set to 1 has no meaning If fields are applied to nodes that are not part of pipe
9. Abaqus 6 11 User Subroutines Reference Manual 2 DS SIMULIA Abaqus User Subroutines Reference Manual Legal Notices CAUTION This documentation is intended for qualified users who will exercise sound engineering judgment and expertise in the use of the Abaqus Software The Abaqus Software is inherently complex and the examples and procedures in this documentation are not intended to be exhaustive or to apply to anv particular situation Users are cautioned to satisfv themselves as to the accuracv and results of their analvses Dassault Svst mes and its subsidiaries including Dassault Svst mes Simulia Corp shall not be responsible for the accuracv or usefulness of any analysis performed using the Abaqus Software or the procedures examples or explanations in this documentation Dassault Svst mes and its subsidiaries shall not be responsible for the consequences of any errors or omissions that may appear in this documentation The Abaqus Software is available only under license from Dassault Svst mes or its subsidiary and may be used or reproduced only in accordance with the terms of such license This documentation is subject to the terms and conditions of either the software license agreement signed by the parties or absent such an agreement the then current software license agreement to which the documentation relates This documentation and the software described in this documentation are subject to change without prior not
10. LAYER Layer number for composite shells and layered solids 1 1 40 9 UMAT KSPT Section point number within the current laver KSTEP Step number KINC Increment number Example Using more than one user defined mechanical material model To use more than one user defined mechanical material model the variable CMNAME can be tested for different material names inside user subroutine UMAT as illustrated below IF CMNAME 1 4 EQ MATI THEN CALL UMAT MATI argument list ELSE IF CMNAME 1 4 EQ MAT2 THEN CALL UMAT MAT2 argument list END IF UMAT MATI and UMAT MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2 respectively Subroutine UMAT merely acts as a directory here The argument list may be the same as that used in subroutine UMAT Example Simple linear viscoelastic material As a simple example of the coding of user subroutine UMAT consider the linear viscoelastic model shown in Figure 1 1 40 1 Although this is not a very useful model for real materials it serves to illustrate how to code the routine The behavior of the one dimensional model shown in the figure is al g Hi E Fi Fr 1 E E2 1 E 41 E2 3 a where and are the time rates of change of stress and strain This can be generalized for small straining of an isotropic solid as One POgz EV d 2UErz y QilExe etc and Ory
11. User subroutine UMASFL e can be used to prescribe the mass flow rate vector at the nodes of a model as a function of position and time e will be called whenever a current value of mass flow rate per unit area is needed for a node listed in a user subroutine defined mass flow rate definition the node should belong to one or more convection diffusion elements and e will overwrite any flow rate data specified for the associated mass flow rate definition outside the user subroutine User subroutine interface SUBROUTINE UMASFL FLOW KFLOW KSTEP KINC TIME NODE COORDS c INCLUDE ABA PARAM INC c DIMENSION FLOW KFLOW TIME 2 COORDS 3 c user coding to define F LOW RETURN END 1 1 39 1 UMASFL Variable to be defined FLOW Total value of the mass flow rate vector at this point The number of components in this vector is KFLOW If KFLOW 1 give the total mass flow rate through the cross section for one dimensional elements If KFLOW 2 give the zcomponent and y component of the flow rate vector as FLOW 1 and FLOW 2 If KFLOW 3 give the zcomponent y component and zcomponent as FLOW 1 FLOW 2 and FLOW 3 Variables passed in for information KFLOW The number of components in the mass flow rate vector UMASFL will be called only once per node KSTEP Step number KINC Increment number TIME 1 Current value of step time TIME 2 Current value of total time NODE Node number
12. sin a sin y cos a t sin y cos y 0 There is no change of n with respect to S and in this case dS c dy where c r h cos a so that 1 1 16 8 RSURFU on 1 1 T cos asiny 7 cos a cos 7 0 The routine can then be coded as follows aaaaaaa SUBROUTINE RSURFU H P TGT DNDS X TIME U CINAME SLNAME 1 MSNAME NOEL NODE LCLOSE INCLUDE ABA PARAM INC CHARACTER 80 CINAME SLNAME MSNAME DIMENSION P 3 TGT 3 2 DNDS 3 2 X 3 2 TIME 2 U 6 2 DEFINE THE FOLLOWING QUANTITIES A RADIUS A OF THE SPHERICAL HEAD SINA SINE CONE ANGLE ALPHA COSA COSINE CONE ANGLE ALPHA ZO ORIGINAL Z COORDINATE OF POINT Q A 5 0 SINA 0 5 COSA 0 86603 20 5 0 ZQ ZO U 3 2 TEST FOR SEGMENT R SORT X 1 1 X 1 1 X 2 1 X 2 1 IF R GT 0 0 THEN COSG X 1 1 R SING X 2 1 R ELSE cose 1 0 SING 0 0 END IF IF R SINA COSA LT ZQ X 3 1 THEN SPHERE B SQRT R R X 3 1 ZQ 2 H A B COSB R B SINB ZQ X 3 1 B 1 1 16 9 ASURFU P 1 A COSB COSG P 2 A COSB SING P 3 ZQ A SINB TGT 1 1 SINB COSG TGT 2 1 SINB SING TGT 3 1 COSB TGT 1 2 SING TGT 2 2 COSG TGT 3 2 0 0 DNDS 1 1 SINB COSG A DNDS 2 1 SINB SING A DNDS 3 1 COSB A DNDS 1 2 SING A DNDS 2 2 COSG A DNDS 3 2 0 0 ELSE CONE R COSA X 3 1 ZQ SINA A P 1 R H COSA COSG P 2 R H COSA SING P 3 X 3 1 H SINA
13. 1 1 7 FLOW Variables to be defined H Seepage coefficient at this point Units are F L T H will be passed into the routine as the reference seepage coefficient value specified as part of the element based or surface based flow definition If the reference value is not defined H will be passed in as zero SINK Sink pore pressure SINK will be passed into the routine as the reference pore pressure value specified as part of the element based or surface based flow definition If the reference value is not defined SINK will be passed in as zero Variables passed in for information U Estimated surface total pore pressure at this time and at this point KSTEP Step number KINC Increment number TIME 1 Current value of step time defined only in transient analysis TIME 2 Current value of total time defined onlv in transient analvsis NOEL Element number NPT Surface integration point number COORDS An arrav containing the coordinates of this integration point These are the current coordinates if geometric nonlinearitv is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point JLTXP Identifies the element face for which this call to F LOW is being made for an element based flow This information is useful when several nonuniform flow conditions are being imposed on an element at the same
14. 6 031 The shear strain components returned from utility subroutine VGETVRM are tensor components and not engineering components Analysis time for which values are returned Utility subroutine VGETVRM returns values of the requested variable that correspond to the beginning of the current increment Example To illustrate the use of VGETVRM if the identifier PE is specified for a material with plasticity rData will be returned with plastic strain components PE11 PE22 PE33 PE12 PE23 and PE13 jData will be 0 and cData array will have N A for all components Unsupported element types procedures and output variable keys Since this capability pertains to material point quantities it cannot be used for most ofthe element types that do not require a material definition The following element types are therefore not supported e DASHPOTx e SPRINGx e CONNxDx e MASS e ROTARYI e all acoustic elements 2 1 7 3 MATERIAL POINT INFORMATION AT A NODE 2 1 8 OBTAINING MATERIAL POINT INFORMATION AVERAGED AT A NODE Product Abaqus Standard References e UMESHMOTION Section 1 1 42 e Erosion of material sand production in an oil wellbore Section 1 1 22 of the Abaqus Example Problems Manual Overview Utility routine GETVRMAVGATNODE can be called from user subroutine UMESHMOTION to access material integration point information averaged at a node The results variables available from GETVRM
15. After user subroutine VFRIC is called frictional forces that oppose the forces specified at the contact points are distributed to the master nodes For balanced master slave contact we then compute weighted averages of the frictional forces for both master slave orientations These forces are directly applied if the penaltv contact algorithm is being used If the kinematic contact algorithm is being used the frictional forces are converted to acceleration corrections bv dividing bv the nodal masses User subroutine interface subroutine vfric C Write only 1 fTangential C Read Write 2 statev C Read only 3 kStep kInc nContact nFacNod nSlvNod nMstNod 4 nFricDir nDir nStateVar nProps nTemp nPred numDefTfv 5 jSlvUid jMstUid jConSlvid jConMstid timStep timGlb 1 2 4 3 VFRIC CONA DHonsnoauvurWwe NhH dTimCur surfint surfSlv surfMst 1ContType dSlipFric fStickForce fTangPrev fNormal frictionWork shape coordSlv coordMst dirCosSl dircosN props areaSlv tempSlv preDefSlv tempMst preDefMst include vaba param inc character 80 surfInt surfSlv surfMst dimension props nProps statev nStateVar nSlvNod dSlipFric nDir nContact fTangential nFricDir nContact fTangPrev nDir nContact fStickForce nContact areaSlv nSlvNod fNormal nContact shape nFacNod nContact coordSlv nDir nSlvNod coordMst nDir nMstNod dirCosS1 nDir nContact dircosN nDir nContact jSlvUid nSlvN
16. Dry Yay May etc 1 1 40 10 UMAT H E Figure 1 1 40 1 where Simple linear viscoelastic model EV Exe Eyy Ezz and v A u and ji are material constants X and p are the Lam constants A simple stable integration operator for this equation is the central difference operator fe _ Af ti At At H4 At fid fis Aj 2 where fis some function f is its value at the beginning of the increment A f is the change in the function over the increment and At is the time in crement 1 1 40 11 UMAT Applying this to the rate constitutive equations above gives At Ar a 0 Ader Ate JAev Atu d 2ji Aeqz At Aey 2uezz Oreh etc and At i P Atgy aie fi Ayey FALB Ten Ozy t etc so that the Jacobian matrix has the terms Aos 1 A ken OAO qx 1 A x At Al JAn E a and ie LE BA it 40 2 The total change in specific energv in an increment for this material is 1 Sij 5A0ij Asij while the change in specific elastic strain energy is 1 ej 5Asij DijmAen where D is the elasticity matrix IE A 000 000 Ari 00 0 0 0 0 pO 0 0 0 0 Op 0 0 0 0 00 u No state variables are needed for this material so the allocation of space for them is not necessary In a more realistic case a set of parallel models of this type might be used and the stress components in each model might be stored as state vari
17. Geostatic analysis LFLAGS 1 61 e Identical to static analysis except that the automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 8 Steady state coupled pore fluid diffusion stress analysis LFLAGS 1 62 63 e Identical to static analysis except that the automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 8 Transient coupled pore fluid diffusion stress consolidation analysis 1 LFLAGS 1 64 65 e Automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 8 e The backward difference scheme is used for time integration that is u At Au At where A uM ke ur e For degree of freedom 8 max Au will be compared against the user prescribed maximum wetting liquid pore pressure change Auf for automatic control of the time integration accuracy e You must define AMATRX KN 1 At CNM where C M is the pore fluid capacity matrix and RHS FN and must update the state variables H Steady state fully coupled thermal stress analysis LFLAGS 1 71 e Identical to static analysis except that the automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 7 and 11 12 1 1 27 11 veL Transient fully coupled thermal stress analysis 6 LFLAGS 1 72 73 e Automatic convergence checks are applied to the residuals correspondi
18. H X 1 1 COSA X 2 1 ZQ SINA A P 1 X 1 1 H COSA P 2 X 2 1 H SINA TGT 1 1 SINA TGT 2 1 COSA DNDS 1 1 0 DNDS 2 1 0 END IF RETURN END The above case can be directly extended to three dimensions For this purpose we assume that the radial axis r is in the global x y plane so that 1 1 16 7 ASURFU y2 2 r 4 2771 2 2 I3 For rtana lt zg z the sphere the overclosure is h a b where again b 4 r z 20 The point A on the rigid surface is a cos f cos y a cos f sin y zg asin f where T T2 cosy siny r r For r 0 7 is not defined uniquely in that case we arbitrarily choose y 0 We now need two tangents to the surface The tangent t used in the axisymmetric case is now tl sin B cos y sin f sin y cos B and the orthogonal tangent is t sin y cos y 0 Again the positive directions of tland t are chosen so that t x t defines an outward normal to the surface The distance measures on the surface are dS ad dS acos 8 dy so that 1 1 1 gr sin B cos 7 sin Bsiny cos B a On 1 1 ag 7 Sing cos 7 0 For the conical surface r tana gt zg z the surface separation is h rcosa z 2zg sina t a The point A on the rigid surface is r h cos a cos y r h cos a sin y z h sin a and the surface tangents are t sin a cos y
19. HARD 3 RETURN END 1 1 35 1 UHARD Variables to be defined SYIELD 99 Yield stress for isotropic plasticity Yield surface size for combined hardening HARD 1 Variation of SYIELD with respect to the equivalent plastic strain 909 dzr HARD 2 Variation of SYIELD with respect to the equivalent plastic strain rate 00 3E l This quantity is not used with the combined hardening model HARD 3 Variation of SYIELD with respect to temperature g 80 This quantity is required only in adiabatic fully coupled temperature displacement and thermal electrical structural analyses STATEV NSTATV Array containing the user defined solution dependent state variables at this point These are supplied as values at the beginning of the increment or as values updated by other user subroutines see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual and must be returned as values at the end of the increment Variables passed in for information EQPLAS Equivalent plastic strain P EQPLASRT i Equivalent plastic strain rate amp TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment TEMP Temperature at the beginning of the increment DTEMP Increment of temperature NOEL Element number 1 1 35 2 UHARD NPT Integration point number LAYER
20. In such models a node number is an internally generated node number If the original node number and part instance name are required call the utility routine VGETPARTINFO see Obtaining part information Section 2 1 5 Local coordinate system The array dircos defines the direction cosines of a local coordinate system for each proximity point The first local direction corresponds to the contact normal direction from the perspective of the slave node The second and third local directions correspond to two orthogonal tangent directions t and ta which are set as follows e If the master surface is a cylindrical analytical surface the second local direction corresponds to the generator direction see Analytical rigid surface definition Section 2 3 4 of the Abaqus 1 2 16 2 VUINTERACTION Analysis User s Manual and the third local direction is the cross product of the first and second local directions e If the master surface is an analytical surface of revolution the third local direction corresponds to the hoop direction and the second local direction is the cross product of the third and first local directions e If the master surface is element based the tangential directions are based on the slave normal and the line connecting the first and third nodes on the master facet For the two cases listed above involving analytical surfaces the local tangential directions will reflect a rotation of the master surfa
21. Interpretation of stress and strain variables In finite strain applications strain variables should be interpreted as logarithmic strains and stresses as true stress User subroutine interface SUBROUTINE CREEP DECRA DESWA STATEV SERD EC ESW P QTILD 1 TEMP DTEMP PREDEF DPRED TIME DTIME CMNAME LEXIMP LEND 2 COORDS NSTATV NOEL NPT LAYER KSPT KSTEP KINC c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME c DIMENSION DECRA 5 DESWA 5 STATEV PREDEF DPRED 1 TIME 2 EC 2 ESW 2 COORDS user coding to define DECRA DESWA RETURN END Variables to be defined In all cases DECRA 1 The definition depends on the usage e Metal creep Az equivalent uniaxial deviatoric creep strain increment e Drucker Prager creep A equivalent uniaxial creep strain increment e Capped Drucker Prager creep AES equivalent uniaxial cohesion creep strain increment e Gasket creep Ae uniaxial compressive creep strain increment DESWA 1 The definition depends on the usage e Metal creep Az volumetric swelling strain increment 1 1 1 7 CREEP e Capped Drucker Prager creep AES equivalent volumetric consolidation creep strain increment e Drucker Prager and gasket creep 0 For implicit creep integration LEXIMP 1 see below DECRA 2 The definition depends on the usage e Metal creep and Drucker Prager creep JQAET OETT e Capped Drucker Prager
22. Section 4 2 1 ofthe Abaqus Analysis User s Manual You will be returned ARRAY which corresponds to the real valued components associated with the request VAR If any array component is not applicable for a given request its value will be returned as the initialized value 0 0 The error flag JRCD I is returned from GETVRN any time a request key is not recognized the request is not valid such as requesting pore pressure for a node not associated with a pore pressure or acoustic element or requesting a variable not available for the current procedure or all of the output components requested are zero otherwise TRCD 0 Ordering of returned components The components for a vector request are returned in positions 1 2 3 etc Analysis time for which values are returned GETVRN returns values at the end of the current increment 2 1 9 2 OBTAINING NODE CONNEOTIVITV 2 1 10 OBTAINING NODE TO ELEMENT CONNECTIVITY Product Abaqus Standard References e UMESHMOTION Section 1 1 42 e Obtaining material point information averaged at a node Section 2 1 8 e Erosion of material sand production in an oil wellbore Section 1 1 22 of the Abaqus Example Problems Manual Overview Utilitv routine GETNODETOELEMCONN can be called from user subroutine UMESHMOTION to retrieve a list of elements connected to a specified node Interface PARAMETER MAXNELEMS 100 DIMENSION JELEMLIST MAXNELEMS JELEMTYPE
23. and e ignores any data specified for the associated orientation definition outside the user subroutine The local directions defined by user subroutine ORIENT must be specified relative to the default basis directions User subroutine interface SUBROUTINE ORIENT T NOEL NPT LAYER KSPT COORDS BASIS 1 ORNAME NNODES CNODES JNNUM c INCLUDE ABA PARAM INC c CHARACTER 80 ORNAME c DIMENSION T 3 3 COORDS 3 BASIS 3 3 CNODES 3 NNODES DIMENSION JNNUM NNODES user coding to define T RETURN END Variable to be defined T An array containing the direction cosines of the preferred orientation in terms of the default basis directions T 1 1 T 2 1 T 3 1 give the 1 2 3 components of the first direction T 1 2 T 2 2 T 3 2 give the second direction etc For shell and membrane elements only the first and second directions are used The directions do not have to be normalized If the second direction is not orthogonal to the first direction Abaqus Standard will orthogonalize and normalize the second direction with respect to the first The third direction is then determined by taking the cross product of the first and second directions For planar elements the first two directions must lie in the plane of the element For use with coupling constraints Coupling constraints Section 33 3 2 of the Abaqus Analysis User s Manual the local basis directions are used as the local constraint direction
24. e Parallel execution overview Section 3 5 1 of the Abaqus Analysis User s Manual e VUSDFLD Section 4 1 38 of the Abaqus Verification Manual Overview Utility routines GETNUMCPUS and GETRANK can be called from any Abaqus Standard user subroutine GETNUMCPUS returns the number of MPI processes and GETRANK returns the rank of the MPI process from which the function is called For example in a hvbrid MPI and thread parallel execution scheme multiple threads may all return the rank of their parent MPI process see Parallel execution in Abaqus Standard Section 3 5 2 of the Abaqus Analysis User s Manual Utilitv routines VGETNUMCPUS and VGETRANK can be called from anv Abaqus Explicit user subroutine in a domain parallel run VGETNUMCPUS provides the number of processes used for the parallel run and VGETRANK provides the individual process rank see Parallel execution in Abaqus Explicit Section 3 5 3 of the Abaqus Analysis User s Manual GETNUMCPUS and VGETNUMCPUS obtain the number of processes Interface CALL GETNUMCPUS NUMPROCESSES CALL VGETNUMCPUS NUMPROCESSES Variable returned from the utilitv routine NUMPROCESSES Number of processes specified for the analvsis GETRANK and VGETRANK obtain the process number Interface CALL GETRANK KPROCESSNUM CALL VGETRANK KPROCESSNUM 2 1 4 OBTAINING PROCESS INFORMATION Variable returned from the utilitv routine KPROCESSNUM Process numb
25. often are integrated more efficiently by the implicit method provided in the program If implicit integration is used with this subroutine nonlinear equations must be solved at each time step and the variations of AE AESY AEST or AES with respect to E 87 EC EC p q pi or 6 must be defined in the subroutine To obtain good convergence during implicit integration it is essential to define these quantities accurately At the start of a new increment the subroutine is called once for each integration point to calculate the estimated creep strain based on the state at the start of the increment Subsequently it is called twice for each iteration if explicit integration is used once to calculate the creep strain increment at the start of the increment and once to calculate it at the end of the increment This is needed to test the validity of the time increment with respect to the user specified maximum allowable difference in the creep strain increment The flag LEND indicates whether the routine is called at the start or the end of the increment The subroutine must use the corresponding values of time temperature field variables and solution dependent state variables in the calculation of the creep strain increment For implicit integration Abaqus uses a local iteration procedure to solve the nonlinear constitutive equations and the subroutine is called multiple times The exact number of calls depends on the convergence rat
26. parameter nrData 6 character 3 cData maxblk nrData dimension rData maxblk nrData jData maxblk nrData call vgetvrm VAR rData jData cData jStatus Variable to be provided to the utility routine VAR Output variable key The available material point variables are given in Available output variable keys below Variables returned from the utility routine rData Real array containing individual components of the output variable jData Integer array containing individual components of the output variable cData Character array containing flags corresponding to the individual components Flags will either be YES NO or N A not applicable 2 1 7 1 MATERIAL POINT INFORMATION jStatus Return code 0 output request successful 1 output request not available Available output variable keys The following output variable keys are currently supported S All stress components e LE All logarithmic strain components e THE All thermal strain components e PE All plastic strain components e PEEQ Equivalent plastic strain e PEEQT Equivalent plastic strain in uniaxial tension defined as f amp l dt e PEQC All equivalent plastic strains for models that have more than one yield failure surface e ALPHA All total kinematic hardening shift tensor components e TEMP Temperature e EVF Volume fraction Eulerian elements only A requested output variable must be valid for the material model for
27. preDefMst nPred numDefTfv Current user specified predefined field variables at the nearest points on the master surface initial values at the beginning of the analysis and current values during the analysis dpreDefMst nPred numDefTfv Increment in the predefined field variables during the previous time increment at the nearest points on the master surface 1 2 15 8 VUINTERACTION 1 2 16 VUINTERACTION User subroutine to define the contact interaction between surfaces with the general contact algorithm Product Abaqus Explicit References e User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual e SURFACE INTERACTION Overview User subroutine VUINTERACTION e can be used to define the mechanical and thermal interaction between contact surfaces e must provide the entire definition of the interaction between the contact surfaces e can utilize a user specified tracking thickness to determine potential points of interaction on a surface and thus which nodes should be passed into the subroutine e can use and update solution dependent state variables for node to face contact and node to analvtical rigid surface contact and e must be used with the general contact algorithm Terminologv The use of user subroutine VUINTERACTION requires familiaritv with the following terminology Tracking thickness For efficiency user subroutine VUINTERACTION considers
28. 2 j cer DragTWD 1005 j _ccr DragTSI 1004 1006 dimension Props nProps Coord nblock ndim Velocity nblock ndim StateVar nblock nstatevar FieldVar nblock nfieldvar DirVec nblock ndim fWaveSurf nblock fFluidAcc nblock ndim fUnsteadyVel nblock ndim fUnsteadyPress nblock fUnsteadvDPressDZ nblock fSteadyVel nblock ndim AquaSteadyConstants naquaconst WindConstants nwindconst BDUkwWNH character 80 sname The following if test and do loop structure illustrates proper usage of this user subroutine if lUpdFluidVar eq j upd FreeSurf then This part is executed at the first call do kn 1 nblock User coding to update WaveSurf optionallv update StateVar end do else This part is executed at the second call if lUpdFluidVar eq j upd FluidVarBuoyancy then Update variables for buovancv loads PB TSB do kn 1 nblock user coding to update UnsteadyPress fUnsteadyDPressDZ 1 2 21 2 VWAVE end do c optionallv update multipliers ScaleSteadv ScaleUnsteadv else if lUpdFluidVar eq j upd FluidVarDrag then c Update variables for drag loads FDD FDT FDI FD2 TFD do kn 1 nblock c User coding to update fUnsteadvVel end do c optionallv update multipliers ScaleSteadv ScaleUnsteadv else if lUpdFluidVar eq j upd FluidVarInertia then c Update variables for inertia loads FI FII FI2 TSI do kn 1 nblock c User coding to update FluidAcc end do c optionallv update
29. 8 VUINTERACTION areaProx nBlock Contact area associated with a proximity point The sum ofthe contact areas among all proximity points associated with a single slave node equals the surface area associated with that slave node equal to 1 for node based surface nodes Therefore the contact area at a proximity point depends on the number of other proximity points currently associated with the same slave node A proximity point contributes a contact normal force to the associated slave node that is equal to stress 1 k multiplied by areaProx k shapeSlv nNodSlv nBlockEdge For edge to edge contact this arrav contains the shape functions of the nodes of its slave edge evaluated at the location of the contact point If the contact is not edge to edge this array is passed in as a dummy array shapeMst nNodMst nBlockAnal For node to face and edge to edge contact this array contains the shape functions of the nodes of its master surface evaluated at the location of the contact point If the master surface is an analytical rigid surface this array is passed in as a dummy array tempS1v nBlock Current temperature at the proximity points on the slave surface tempMst nBlockAnal Current temperature at the points on the master surface closest to the proximity points dTempS1v nBlock Increment in the temperature during the previous time increment at the proximity points on the slave surface dTempMst nBlockAnal Increment in
30. COORDS An array containing the coordinates of this node 1 1 39 2 1 1 40 UMAT UMAT User subroutine to define a material s mechanical behavior Product Abaqus Standard WARNING The use of this subroutine generallv requires considerable expertise You are cautioned that the implementation of any realistic constitutive model requires extensive development and testing Initial testing on a single element model with prescribed traction loading is strongly recommended References User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual User defined thermal material behavior Section 25 7 2 of the Abaqus Analysis User s Manual xUSER MATERIAL SDVINI Section 4 1 11 of the Abaqus Verification Manual UMAT and UHYPER Section 4 1 21 of the Abaqus Verification Manual Overview User subroutine UMAT can be used to define the mechanical constitutive behavior of a material will be called at all material calculation points of elements for which the material definition includes a user defined material behavior can be used with any procedure that includes mechanical behavior can use solution dependent state variables must update the stresses and solution dependent state variables to their values at the end of the increment for which it is called must provide the material Jacobian matrix 0a OAe for the mechanical constitutive model can be used in conjunction wit
31. Contact formulations in Abaqus Standard Section 36 1 1 of the Abaqus Analysis User s Manual for the tangential directions 2 2 Rotation increment matrix For contact with a three dimensional rigid surface this matrix represents the incremental rotation of the surface directions relative to the rigid surface It is provided so that vector or tensor valued state variables can be rotated appropriately in this subroutine Relative displacement components are already rotated by this amount before UINTER is called This matrix is passed in as a unit matrix for two dimensional and axisymmetric contact problems Surface area associated with the contact point CHRLNGTH Characteristic contact surface face dimension 1 1 38 7 UINTER NODE User defined global slave node number or internal node number for models defined in terms of an assembly of part instances involved with this contact point Corresponds to the predominant slave node of the constraint if the surface to surface contact formulation is used NDIR Number of force components at this point NSTATV Number of solution dependent state variables NPRED Number of predefined field variables NPROPS User defined number of propertv values associated with this interfacial constitutive model Tnterfacial constants in User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual MCRD Number of coordinate direction
32. Il 1 DTIME TERM1I PROPS 2 STRAN I1 STRESS I1 STRESS I1 STRESS I1 DSTRES Il END DO CREATE NEW JACOBIAN TERM2 DTIME 5 PROPS 1 PROPS 2 PROPS 3 1 2 PROPS 4 TERMII TERM3 5 DTIME PROPS 1 PROPS 3 TERM1I DO K1 1 NTENS DO K2 1 NTENS DDSDDE K2 K1 0 END DO END DO DO K1 1 NDI DDSDDE K1 K1 TERM2 END DO DO K1 2 NDI N2 Kl 1 DO K2 1 N2 DDSDDE K2 K1 TERM3 DDSDDE K1 K2 TERM3 END DO END DO TERM2 5 DTIME PROPS 2 PROPS 4 TERM1I 1 1 40 14 a a UMAT Il NDI DO K1 1 NSHR Il Il l DDSDDE I1 I1 TERM2 END DO TOTAL CHANGE IN SPECIFIC ENERGY TDE 0 DO K1 1 NTENS TDE TDE STRESS Kl 5 DSTRES K1 DSTRAN Kl END DO CHANGE IN SPECIFIC ELASTIC STRAIN ENERGY TERM1 PROPS 1 2 PROPS 2 DO Kl 1 NDI D K1 K1 TERM1 END DO DO K1 2 NDI N2 Kl 1 DO K2 1 N2 D K1 K2 PROPS 1 D K2 K1 PROPS 1 END DO END DO DEE 0 DO K1 1 NDI TERM1 0 TERM2 0 DO K2 1 NDI TERM1 TERM1 D K1 K2 STRAN K2 TERM2 TERM2 D K1 K2 DSTRAN K2 END DO DEE DEE TERM1 5 TERM2 DSTRAN Kl END DO Il NDI DO K1 1 NSHR Il Il l DEE DEE PROPS 2 STRAN I1l 5 DSTRAN Il DSTRAN I1 END DO SSE SSE DEE 1 1 40 15 UMAT SCD SCD TDE DEE RETURN END 1 1 40 16 1 1 41 UMATHT UMATHT User subroutine to define a materials thermal behavior Product Abaqus Standard WARNING The use of thi
33. Increment number TIME 1 Current value of step time TIME 2 Current value of total time NOEL Element number This variable is passed in as zero for node based films NPT Surface integration point number This variable is passed in as zero for node based films COORDS An array containing the coordinates of this point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 ofthe Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point 1 1 6 2 JLTYP FILM Identifies the element face for which this call to FILM is being made for an element based film coefficient specification This information is useful when several different nonuniform film conditions are being imposed on an element at the same time See Part VI Elements ofthe Abaqus Analysis User s Manual for element face identification The key is as follows JLTYP 0 11 12 13 14 15 16 FIELD Film type Node based or surface based loading FINU FNEGNU for heat transfer shells F2NU FPOSNU for heat transfer shells F3NU F4NU FSNU F6NU Interpolated values of field variables at this point NFIELD Number of field variables SNAME Surface name for which this call to FILM is being made for a surface based film coefficient specification JLTYP 0 This variable is passed in as blank for both node base
34. KDIRCYC Iteration number in a direct cyclic analysis KCYCLELCF Cycle number in a direct cyclic low cycle fatigue analysis TIMECYC Time period in one loading cycle in a direct cyclic analysis JMAC Variable that must be passed into the GETVRM utility routine to access a material point variable JMATYP Variable that must be passed into the GETVRM utility routine to access a material point variable MATLAYO Variable that must be passed into the GETVRM utility routine to access a material point variable LACCFLA Variable that must be passed into the GETVRM utility routine to access a material point variable 1 1 25 4 UDMGINI CELENT Characteristic element length which is a tvpical length of a line across an element for a first order element it is half of the same typical length for a second order element For beams and trusses it is a characteristic length along the element axis For membranes and shells it is a characteristic length in the reference surface For axisymmetric elements it is a characteristic length in the r z plane only For cohesive elements it is equal to the constitutive thickness DROT 3 3 Rotation increment matrix This matrix represents the increment of rigid body rotation of the basis system in which the components of stress STRESS and strain STRAIN are stored It is provided so that vector or tensor valued state variables can be rotated appropriately in this subroutine stress and strain compone
35. LACCFLA Variable that must be passed into the GETVRM utility routine The calling user subroutine provides this variable Variables returned from the utility routine ARRAY Real array containing individual components of the output variable JARRAY Integer array containing individual components of the output variable FLGRAY Character array containing flags corresponding to the individual components Flags will contain either YES NO or N A not applicable JRCD Return code 0 no error 1 output request error or all components of output request are zero Available output variable keys Only output variable keys that are valid for results file output are available for use with GETVRM In general if a key corresponds to a collective output variable rather than an individual component it can be used with GETVRM For example S for the stress tensor can be used whereas any individual component of stress say S11 cannot be used The collective output variable keys are distinguished from their individual components by the fact that they have a bullet e in the fil column in the tables in Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analysis User s Manual Output variable keys that cannot be used with GETVRM are listed later in this section You will be returned ARRAY JARRAY and FLGRAY which correspond to the real valued components integer valued components and the flags associated with
36. MAXNELEMS JGVBLOCK 4 NELEMS MAXNELEMS CALL GETNODETOELEMCONN NODE NELEMS JELEMLIST JELEMTYPE JRCD JGVBLOCK Variables to be provided to the utilitv routine NODE User node number NELEMS You must set NELEMS to the maximum allowable length of the JELEMLIST and JELEMTYPE arrays This value corresponds to the maximum expected number of elements attached to an adaptive mesh constraint node in your model GETNODETOELEMCONN will assume that your JELEMLIST and JELEMTYPE arrays are NELEMS long In the event that the actual element connectivity exceeds NELEMS no result will be returned and the return code JRCD will indicate an error An NELEMS value of 100 is typically more than adequate for common meshes NELEMS is modified by GETNODETOELEMCONN and should not be aFORTRAN parameter statement constant JGVBLOCK Variable that must be passed into the GETNODETOELEMCONN utility routine This variable is available in user subroutine UMESHMOTION for this purpose 2 1 10 1 OBTAINING NODE CONNECTIVITY Variables returned from the utility routine JELEMLIST Array of element numbers for elements connected to NODE The list will contain elements only in adaptive mesh domains active in the step as well as any contact elements associated with the domain The number of entries in this array corresponds to the returned value of NELEMS JELEMTYPE Array of element type designators describing the element types corresponding to each elemen
37. Master surface name not applicable to general contact props nProps User specified vector of property values to define the frictional coefficient at contacting points slipRate nBlock This array contains the rate of tangential slip at the contacting points for the current time increment pressure nBlock This array contains the pressure at the contacting points applied at the end ofthe current time increment tempS1v nBlock Average current temperature between the master and slave surfaces at the contacting points fieldSlv nFields nBlock Average current value of all the user specified field variables between the master and slave surfaces at the contacting points 1 2 5 3 VFRICTION 1 2 6 VFRICTION User subroutine to define frictional behavior for contact surfaces Product Abaqus Explicit References e Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual e FRICTION e VFRIC VFRIC COEF and VFRICTION Section 4 1 30 of the Abaqus Verification Manual Overview User subroutine VFRICTION e can be used to define the frictional behavior between contacting surfaces e can be used when the classical Coulomb friction model is too restrictive and a more complex definition of shear transmission between contacting surfaces is required e must provide the entire definition of shear interaction between the contacting surfaces e can use and update solution dependent state variables for
38. NDIM Two or three indicating that the analysis is in two or three dimensions The vertical direction is the global y direction in two dimensional analysis and the global z direction in three dimensional analysis XCUR NDIM An array containing the current coordinates of the load integration point XINTERMED NDIM An array containing the intermediate configuration coordinates of the load integration point For nonstochastic analysis this array is not used In a stochastic analysis the wave field is based upon this configuration At the beginning of each load increment the LRECOMPUTE flag is set to 1 to prompt you for update action If the intermediate configuration should be replaced by the current configuration the flag LUPLOCAL should be set to 1 to update the intermediate configuration for this element only or the flag LUPGLOBAL should be set to 1 to update the intermediate configuration for all elements that have Abaqus Aqua loading At the beginning of the analysis the intermediate configuration is the reference configuration GRAV The user specified gravitational constant in the fluid variable definition DENSITY The user specified fluid mass density in the fluid variable definition 1 1 54 3 UWAVE ELEVB The user specified elevation of the seabed in the fluid variable definition ELEVS The user specified elevation of the still fluid level in the fluid variable definition SEED For stochastic analvsis the user specified ra
39. ON OE where N are the section forces and moments on the shell section and E are the generalized section strains in the shell DDNDDE I J defines the change in the Ith force component at the end of the time increment caused by an infinitesimal perturbation of the Jth component of the section strain increment array The size of this matrix depends on the values of NSECV see below for details Unless you invoke the unsymmetric equation solution capability in the general shell section definition Defining whether or not the section stiffness matrices are symmetric in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual Abaqus Standard will use only the symmetric part of DDNDDE The symmetric part of the matrix is calculated by taking one half the sum of the matrix and its transpose FORCE NSECV This array is passed in as the forces and moments per unit length on the shell surface at the beginning of the increment and must be updated in this routine to be the forces and moments at the end of the increment STATEV NSTATV An array containing the solution dependent state variables These are passed in as the values at the beginning of the increment and must be returned as the values at the end of the increment SSE SPD Elastic strain energy and plastic dissipation respectively These are passed in as the values at the beginning of the increment and should be updated to
40. PROPS NPROPS COORDS DROT PNEWDT 4 CELENT DFGRDO DFGRD1 NOEL NPT LAYER KSPT KSTEP KINC INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION STRESS NTENS STATEV NSTATV 1 DDSDDE NTENS NTENS DDSDDT NTENS DRPLDE NTENS 2 STRAN NTENS DSTRAN NTENS TIME 2 PREDEF 1 DPRED 1 3 PROPS NPROPS COORDS 3 DROT 3 3 DFGRDO 3 3 DFGRD1 3 3 user coding to define DDSDDE STRESS STATEV SSE SPD SCD and ifnecessary RPL DDSDDT DRPLDE DRPLDT PNEWDT RETURN END Variables to be defined In all situations DDSDDE NTENS NTENS Jacobian matrix of the constitutive model Aa OAe where Aq are the stress increments and Ae are the strain increments DDSDDE I J defines the change in the Ith stress component at the end of the 1 1 40 5 UMAT time increment caused by an infinitesimal perturbation of the Jth component of the strain increment array Unless you invoke the unsymmetric equation solution capability for the user defined material Abaqus Standard will use only the symmetric part of DDSDDE The symmetric part of the matrix is calculated by taking one half the sum of the matrix and its transpose STRESS NTENS This array is passed in as the stress tensor at the beginning of the increment and must be updated in this routine to be the stress tensor at the end of the increment If you specified initial stresses Initial conditions in Abaqus Standard and Abaqus Explicit Sectio
41. SLNAME MSNAME 1 1 10 1 GAPCON DIMENSION AK 5 D 2 FLOWM 2 TEMP 2 PREDEF 2 1 TIME 2 COORDS 3 user coding to define AK 1 AK 5 RETURN END Variables to be defined AK 1 Gap conductance k The units of k are energy per time flux per area per temperature JT L 0 AK 2 0k 0d derivative of the gap conductance with respect to the clearance between the bodies If the gap conductance is not a function of gap clearance AK 2 0 0 This variable needs to be defined only for fully coupled temperature displacement and coupled thermal electrical structural analyses AK 3 Ok Op derivative of the gap conductance with respect to the pressure between the bodies If the gap conductance is not a function of the pressure AK 3 0 0 This variable needs to be defined only for fully coupled temperature displacement and coupled thermal electrical structural analyses AK 4 0k 06 4 derivative of the gap conductance with respect to the temperature of point A on the first surface of the interface AK 5 0k 06p derivative of the gap conductance with respect to the temperature of point B on the second surface of the interface Variables passed in for information D 1 Separation between the surfaces d D 2 Pressure transmitted across the surfaces p This pressure is zero in pure heat transfer analysis FLOWM 2 mla mlp magnitudes of the mass flow rate per unit area at points A and B TEM
42. Section 11 5 1 of the Abaqus Analvsis User s Manual and for everv fluid exchange definition Fluid exchange definition Section 11 5 3 of the Abaqus Analysis User s Manual connected to a cavitv reference node e requires that the fluid density p p 8 and the fluid pressure compliance Cp be defined e requires that the fluid temperature compliance Cg be defined if the routine is to be used in a linear perturbation step and the fluid is subjected to a temperature excursion and e ignores any data specified for the fluid constitutive model outside the user subroutine Densitv and fluid mass At the start of the analvsis prior to the first iteration the densitv calculated in user subroutine UFLUID for the initial pressure pr and temperature 97 is used to calculate the fluid mass from the initial cavity volume During the analvsis the expected cavitv volume is calculated from the fluid mass and the densitv User subroutine interface SUBROUTINE UFLUID RHO CP CT PNEWDT ENER PRESS DPRESS PRESSI 1 TEMP DTEMP TEMPI TIME DTIME KSTEP KINC NONUM FLNAME LFLAG INCLUDE ABA PARAM INC CHARACTER 80 FLNAME DIMENSION TIME 2 user coding to define RHO CP and CT 1 1 32 UFLUID RETURN END Variables to be defined RHO CP cT Fluid densitv p at the end of the increment Fluid pressure compliance Cp at the end of the increment For a linear perturbation step this is the base state complian
43. TGT 1 1 SINA COSG TGT 2 1 SINA SING TGT 3 1 COSA TGT 1 2 SING TGT 2 2 COSG TGT 3 2 0 0 DNDS 1 1 0 0 DNDS 2 1 0 0 DNDS 3 1 0 0 C R H COSA DNDS 1 2 COSA SING C DNDS 2 2 COSA COSG C DNDS 3 2 0 0 END IF RETURN END 1 1 16 10 1 1 17 SDVINI SDVINI User subroutine to define initial solution dependent state variable fields Product Abaqus Standard References User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual INITIAL CONDITIONS SDVINI Section 4 1 11 of the Abaqus Verification Manual Overview User subroutine SDVINI will be called for user subroutine defined initial solution dependent state variable fields at particular material points shell section points contact slave nodes or for user elements see Initial conditions in Abaqus Standard and Abaqus Explicit Section 32 2 1 of the Abaqus Analysis User s Manual can be used to initialize solution dependent state variables allocated as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual and returns a value of zero for any solution dependent state variables that have no defined initial condition Use of solution dependent state variables in other user subroutines Solution dependent state variables initialized in SDVINI can be used and updated in the following user subroutines CREEP FRIC HETVAL UEL UEX
44. TRSHRNU TRVECNU EDLDNU EDNORNU EDSHRNU EDTRANU EDMOMNU jin the load tvpe identifies the face or edge of the element underlving the surface Table 1 1 51 1 JILTXP values for surface traction and edge load labels Load Label JLTYP Load Label JLTYP Load Label JLTYP TRSHRNU 510 4j EDLDNU 5404j EDTRANU 5704j TRSHRINU 511 EDLDINU 543 EDTRANU 573 TRSHR2NU 512 EDLD2NU 544 EDTRANU 574 TRSHR3NU 513 EDLD3NU 545 EDTRANU 575 TRSHR4NU 514 EDLD4NU 546 EDTRANU 576 TRSHRSNU 515 EDNORNU 5504j EDMOMNU 5804j TRSHR6NU 516 EDNORINU 553 EDMOMINU 583 TRVECNU 5204j EDNOR2NU 554 EDMOM2NU 584 TRVECINU 521 EDNOR3NU 555 EDMOMB3NU 585 1 1 51 3 UTRACLOAD Load Label JLTYP Load Label JLTYP Load Label JLTYP TRVEC2NU 522 EDNORANU 556 EDMOMANU 586 TRVEC3NU 523 EDSHRNU 560 j TRVEC4NU 524 EDSHRNU 563 TRVEC5NU 525 EDSHRNU 564 TRVEC6NU 526 EDSHRNU 565 EDSHRNU 566 SNAME Surface name for a surface based load definition For an element based or edge based load the surface name is passed in as blank 1 1 51 4 1 1 52 UTRS UTRS User subroutine to define a reduced time shift function for a viscoelastic material Product Abaqus Standard References Time domain viscoelasticity Section 21 7 1 of the Abaqus Analysis User s Manual TRS VISCOELASTIC Transient therma
45. User subroutine VUINTER e can be used to define the mechanical and thermal interaction between contacting surfaces e must provide the entire definition of the interaction between the contacting surfaces e can use and update solution dependent state variables and e must be used with the penalty contact constraint algorithm Terminology The use of user subroutine VUINTER requires familiarity with the following terminology Surface node numbers The surface node number refers to the position of a particular node in the list of nodes on the surface For example there are nS1vNod nodes on the slave surface Number n n 1 2 nS1vNod is the surface node number of the nth node in this list j 1vUid n is the user defined global number of this node An Abaqus Explicit model can be defined in terms of an assembly of part instances see Defining an assembly Section 2 10 1 of the Abaqus Analysis User s Manual In such models a node number in jS1vUid is an internally generated node number If the original node number and part instance name are required call the utility routine VGETPARTINFO see Obtaining part information Section 2 1 5 Local coordinate system The array alocaldir defines the direction cosines of a local coordinate system for each slave node The first local direction corresponds to the contact normal direction from the perspective of the slave node For a two dimensional VUINTER model the second local
46. User subroutine to define damage variable for the Mullins effect material model User subroutine to define initial fluid pore pressure User subroutine to specify prescribed equivalent pressure stress conditions A 2 2 UPSD URDFIL USDFLD UTEMP UTRACLOAD UTRS UVARM UWAVE VOIDRI Name VDISP VDLOAD VFABRIC VFRIC VFRIC COEF VFRICTION VUAMP VUANISOHXPER INV VUANISOHXPER STRAIN VUEL VUFIELD VUFLUIDEXCH VUFLUIDEXCHEFFAREA VUHARD VUINTER VUINTERACTION VUMAT VUSDFLD VUTRS APPENDIX A INDEX User subroutine to define the frequency dependence for random response loading User subroutine to read the results file User subroutine to redefine field variables at a material point User subroutine to specify prescribed temperatures User subroutine to specify nonuniform traction loads User subroutine to define areduced time shift function for a viscoelastic aterial ser subroutine to generate element output User subroutine to define wave kinematics for an Abaqus Aqua analysis User subroutine to define initial void ratios CB Abaqus Explicit User Subroutines Function ser subroutine to specify prescribed boundary conditions ser subroutine to specify nonuniform distributed loads ser subroutine to define fabric material behavior ser subroutine to define frictional behavior for contact surfaces ser subroutine to define the frictional coefficient for contact surfaces ser subr
47. as velocity acceleration pressure gradient of pressure along elevation and the instantaneous free surface elevation as a function of time and space and will be called twice within an increment for each Abaqus Aqua load The first call is used to obtain the instantaneous wave surface elevation at the nodes of the elements on which the loads are applied The second call is used to obtain desired fluid variables at the integration points for the load calculations User subroutine interface Q Writ 1 2 Read 1 Read 1 A uf WD subroutine vwave e only fWaveSurf fUnsteadyVel fFluidAcc fUnsteadyPress fUnsteadyDPressDZ Write ScaleSteady ScaleUnsteady only kStep kInc nblock ndim nprops naquaconst nwindconst nstatevar nfieldvar iElemType iLoadType sname lUpdFluidVar Coord Velocity StateVar FieldVar DirVec AquaSteadyConstants WindConstants fSteadyVel Props dt timeTotal timeStep include vaba param inc parameter j upd FreeSurf 0 1 2 21 1 AVMAN Q Q 1 j_upd FluidVarBuoyancy 1 2 j_upd FluidVarDrag 2 3 j_upd_FluidVarInertia 3 The types of distributed loads 1 j_ler PB 51 2 j_ler_DragFDD 53 j lcr DragWDD 54 3 j_ler_DragFDT 55 j lcr DragFI 56 4 j_ler_DragFD1 57 j lcr DragFD2 58 5 j_ler_DragwD1 59 j lcr DragWD2 60 6 j_ler_DragFIl 61 j_lcr_DragFI2 62 The types of concentrated loads 1 j cer TSB 1002 j ccr DragTFD
48. beam or shell elements only one value of each field variable is required NCOMP 1 Otherwise the number of values to be returned depends on the mode of temperature and field variable input selected for the beam or shell section It should also be noted that VUFIELD does not allow the use of values at the reference surface with gradients for either shell or beam elements Temperature or field values at the section points through the thickness are assumed to be constant However you can employ gradients by specifying explicitly temperature or field values at the section points Because field variables can also be defined directly it is important to understand the hierarchy used in situations with conflicting information see Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual When the array FIELD is passed into user subroutine VUFIELD it will contain either the field variable values from the previous increment or those values obtained from the results file if this method was used You can then modify these values within this subroutine 1 2 11 3 VUFIELD Variables passed in for information NBLOCK User specified number of nodes to be processed in this call to VUFIELD The value is equal to the total number of nodes given in a node set when the optional parameter BLOCKING on the FIELD option is omitted or is set to NO When the parameter BLOCKING is set to YES NBLOCK is equal to a predefined number set in Abaqus
49. bill 3 Y elan DD dsa 1 i 1 j l k 2 l 2 6 ii 6 i gt em 14 22 1 3 fn Ts 22 1 9p i2l4 a2 ia P m 2 n 2 p 2 The code in user subroutine UANISOHYPER_INV must return the derivatives of the strain energy function with respect to the scalar invariants which are readily computed from the above expression In this example auxiliary functions are used to facilitate enumeration of pseudo invariants of type Tas B and Is ag as well as for indexing into the array of second derivatives using symmetric storage The user subroutine would be coded as follows subroutine uanisohyper inv aInv ua zeta nFibers ninv uil ui2 ui3 temp noel cmname incmpFlag ihybFlag numStatev statev numFieldv fieldv fieldvInc numProps props c include aba param inc c character 80 cmname dimension aInv nInv ua 2 zeta nFibers nFibers 1 2 dimension uil nInv ui2 nInv nInv 1 2 dimension ui3 nInv nInv 1 2 statev numStatev dimension fieldv numFieldv fieldvInc numFieldv dimension props numProps C parameter zero 0 d0 one 1 d0 two 2 d0 three 3 d0 four 4 d0 five 5 d0 six 6 d0 C 1 1 20 6 C Kaliske Schmidtt energv function 3D c c Read material properties d props 1 dInv one d al props 2 a2 props 3 a3 props 4 bil props 5 b2 props 6 b3 props 7 c2 props 8 c3 props 9 c4 props 10 c5 props 11 c6 pro
50. can be used for gasket elements can call utilitv routine GETVRM to access material point data cannot be used with linear perturbation procedures and cannot be updated in the zero increment Accessing material point data You are provided with access to the values of the material point quantities through the utilitv routine GETVRM described in Obtaining material point information in an Abaqus Standard analysis Section 2 1 6 In a nonlinear analysis values returned will correspond to the current solution iteration representing a converged solution only at the final iteration for each increment The values of the material point data are recovered in the arrays ARRAY JARRAY and FLGRAY for floating point integer and character data respectively Floating point data are recovered as double precision data Using user defined output variables The output identifier for the user defined output quantities is UVARM Individual components are accessed with UVARMn wheren 1 2 NUVARM You must specify the number of user defined output variables NUVARM for a given material to allocate space at each material calculation point for 1 1 53 1 UVARM each variable The user defined output variables are available for both printed and results file output and are written to the output database and restart files for contouring printing and X Y plotting in Abaqus CAE Anv number of user defined output variables can be used Input File Usag
51. fTangPrev nDir nContact This arrav contains the values of the frictional force components calculated in the previous increment but provided in the current local coordinate svstem zero for nodes that were not in contact fNormal nContact This arrav contains the magnitude of the normal force for the contact points applied at the end of current time increment i e at time t tcurr frictionWork This variable contains the value of the total frictional dissipation in the entire model from the beginning of the analysis The units are energy per unit area shape nFacNod nContact For each contact point this arrav contains the shape functions of the nodes of its master surface facet evaluated at the location of the contact point If the master surface is an analvtical rigid surface this array is passed in as a dummy array coordSlv nDir nSlvNod Array containing the nDir components of the current coordinates of the slave nodes coordMst nDir nMstNod Array containing the nDir components of the current coordinates of the master nodes If the master surface is an analytical rigid surface this array is passed in as a dummy array 1 2 4 7 VFRIC dirCosSl nDir nContact Direction cosines of the incremental slip at the contact points dircosN nDir nContact Direction cosines of the normals to the master surface at the contact points props nProps User specified vector of property values to define the frictional behavior b
52. fluid cavities at the start of the increment ctemp 2 Temperature in primarv and secondarv or ambient fluid cavities at the start of the increment 1 2 13 3 1 2 14 VUHARD VUHARD User subroutine to define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models Product Abaqus Explicit References Classical metal plasticity Section 22 2 1 ofthe Abaqus Analysis User s Manual Models for metals subjected to cyclic loading Section 22 2 2 of the Abaqus Analysis User s Manual CYCLIC HARDENING PLASTIC Deformation of a sandwich plate under CONWEP blast loading Section 9 1 8 of the Abaqus Example Problems Manual VUHARD Section 4 1 34 of the Abaqus Verification Manual Overview User subroutine VUHARD is called at all material points of elements for which the material definition includes user defined isotropic hardening or cyclic hardening for metal plasticity can be used to define a material s isotropic yield behavior can be used to define the size of the yield surface in a combined hardening model can include material behavior dependent on field variables or state variables and requires that the derivatives of the yield stress or yield surface size in combined hardening models be defined with respect to the appropriate independent variables such as strain strain rate and temperature User subroutine interface subroutine v
53. gar g g E time where a is the equivalent creep stress defined as q ptan aie TA if creep is defined in terms of uniaxial compression 1 3 tan 8 q ptan EE IT if creep is defined in terms of uniaxial tension and 1 3 tan p q ptanf if creep is defined in terms of pure shear where qis the equivalent deviatoric Mises stress p is the pressure stress and f is the friction angle and ET is the uniaxial equivalent creep strain conjugate to a such that g AE oj Aes The user subroutine must define the increment of inelastic strain AZ as a function of 5 and any other variables used in the definitions of g such as solution dependent state variables introduced by you and of the time increment At If any solution dependent state variables are included in the definitions of g they must also be integrated forward in time in this routine Abaqus computes the incremental creep strain or the incremental viscoplastic strain components as _ Ag q 1 A e n tan yI fe We tan Y q 3 where n 04 00 The variable f is determined in such a way that 1 age CR ze Do 1 1 1 3 CREEP and GT ea o tan Y q ptany is the hyperbolic creep potential where b f is the dilation angle measured in the p q plane at high confining pressure Elo 4l ri p ri p is the initial yield stress and e is the eccentricity See Extended
54. ndim stiff_p 1 1 dNidx ddsdde 1 1 dNjdx dNidy ddsdde 4 4 dNjdy dNidx ddsdde 1 4 dNjdy dNidy ddsdde 4 1 dNjdx stiff p 1 2 dNidx ddsdde 1 2 dNjdy dNidy ddsdde 4 4 dNjdx dNidx ddsdde 1 4 dNjdx dNidy ddsdde 4 2 dNjdy stiff p 2 1 dNidy ddsdde 2 1 dNjdx dNidx ddsdde 4 4 dNjdy dNidy ddsdde 2 4 dNjdy dNidx ddsdde 4 1 dNjdx stiff_p 2 2 dNidy ddsdde 2 2 dNjdy dNidx ddsdde 4 4 dNjdx dNidy ddsdde 2 4 dNjdx dNidx ddsdde 4 2 dNjdy do jdof 1 ndof icol jdof incr_col do idof 1 ndof irow idof incr_row stiff irow icol stiff irow icol stiff p idof jdof dvol end do end do end do end do assemble rhs and lhs do kl 1 ndof nnode rhs kl 1 rhs kl 1 force ki do k2 1 ndof nnode amatrx kl k2 amatrx kl k2 stiff k1 k2 end do end do end do I end loop on material integration points 1 1 28 20 pnewdt continue return end pnewdtLocal 1 1 28 21 UELMAT UEXPAN 1 1 29 UEXPAN User subroutine to define incremental thermal strains Product Abaqus Standard References e Thermal expansion Section 25 1 2 of the Abaqus Analysis User s Manual e xEXPANSION e UEXPAN Section 4 1 16 of the Abaqus Verification Manual Overview User subroutine UEXPAN e can be used to define incremental thermal strains as functions of temperature predefined field variables and state variables e is inte
55. passed in as the values at the start of the increment and should be updated to the corresponding specific energy values at the end of the increment They have no effect on the solution except that they are used for energy output Variables passed in for information NFINDEX Number of indices for all failure mechanisms NDI Number of direct stress components at this point NSHR Number of engineering shear stress components at this point NTENS Size of the stress or strain component array NRI NSHR PROPS NPROPS User specified array of material constants associated with this user defined failure criterion 1 1 25 2 UDMGINI NPROPS User defined number of material constants associated with this user defined failure criterion NSTATV Number of solution dependent state variables associated with this material specified when space is allocated for the array see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual STRESS NTENS An Array passed in as the current stress tensor If a local orientation is used at the same point as user subroutine UDMGINI the stress components will be in the local orientation in the case of finite strain analysis the basis system in which stress components are stored rotates with the material STRAIN NTENS An Array containing the current total strains If a local orientation is used at the same point as user subroutine UDMGINI
56. s Manual NUMFIELDV Number of field variables FIELDV Array of interpolated values of predefined field variables at this material point at the end of the increment based on the values read in at the nodes initial values at the beginning of the analysis and current values during the analysis FIELDVINC Array of increments of predefined field variables at this material point for this increment including any values updated by user subroutine USDFLD NUMPROPS Number of material properties entered for this user defined hyperelastic material PROPS Array of material properties entered for this user defined hyperelastic material AINV NINV Array of scalar invariants I at each material point at the end of the increment The invariants are ordered using the enumeration scheme discussed above ZETA NFIBERS NFIBERS 1 2 Array of dot product between the directions of different families of fiber in the reference configuration Cag Aa Ag The array contains the enumerated values using the scheme discussed above 1 1 20 5 UANISOHVPER INV Example Anisotropic hvperelastic model of Kaliske and Schmidt As an example of the coding of user subroutine UANISOHYPER_INV consider the model proposed by Kaliske and Schmidt 2005 for nonlinear anisotropic elasticity with two families of fibers The strain energy function is given by a polynomial series expansion in the form 3 3 6 6 1 l U 5 J 1 wah 3
57. the strain components will be in the local orientation in the case of finite strain analysis the basis system in which strain components are stored rotates with the material STRAINEE NTENS An Array containing the current elastic strains If a local orientation is used at the same point as user subroutine UDMGINI the elastic strain components will be in the local orientation in the case of finite strain analysis the basis system in which elastic strain components are stored rotates with the material LXFEM An integer flag to indicate an enriched element TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment TEMP Temperature at the start of the increment DTEMP Increment of temperature during the time increment PREDEF An array containing the values of all ofthe user specified predefined variables at this point at the start of the increment 1 1 25 3 UDMGINI DPRED An array containing the increments of all of the predefined variables during the time increment NFIELD Number of user specified predefined variables COORDS An array containing the current coordinates of this point NOEL Element number NPT Integration point number LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer KSTEP Step number KINC Increment number
58. u H lFlagsDefine iComputeDeriv lFlagsDefine iComputeSecDeriv u H get sensor value vTrans_CUl vGetSensorValue HORIZ TRANSL MOTION jSensorLookUpTable sensorValues 1 2 7 5 VUAMP if ampName 1 22 eq MOTOR WITH STOP SENSOR then if 1FlagsInfo iInitialization eq 1 then ampValueNew ampValueOld svars 1 0 0 svars 2 0 0 else tim time iStepTime c ramp up the angular rot velocity of the electric c motor after which hold constant if tim le tAccelerateMotor then ampValueNew omegaFinal tim tAccelerateMotor else ampValueNew omegaFinal end if c retrieve old sensor value vTrans CUl old svars 1 c detect a zero crossing and count the number of c crossings if vTrans_CUl_old vTrans_CUl le 0 0 and tim gt tAccelerateMotor then svars 2 svars 2 1 0 end if nrCrossings int svars 2 c stop the motor if sensor crosses zero the second c time if nrCrossings eq 2 then ampValueNew 0 0 lFlagsDefine iConcludeStep 1 end if c store sensor value svars l vTrans_CUl end if end if 1 2 7 6 return end 1 2 7 7 VUAMP VUANISOHYPER_INV 1 2 8 VUANISOHVPER INV User subroutine to define anisotropic hyperelastic material behavior using the invariant formulation Product Abaqus Explicit References e Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e xANISOTROPIC HYPERELASTIC e UANISOHYPER INV an
59. v a rf rmass rotarvi c Write only variable rval c include vaba param inc parameter zero 0 d0 half 0 5d0 one 1 40 character 80 cbname dimension jDof nDof jNodeUid nblock amp nblock coordNp nCoord nblock u nDof nblock v nDof nblock a nDof nblock rf nDof nblock rmass nblock rotaryI 3 3 nblock rval nDof nblock x xXx 1 2 1 5 VDISP a a 310 a 320 a Impose acceleration if jBCType eq 2 then if stepTime lt zero then Initialization 1 a0 zero do 310 k 1 nblock do 310 j 1 nDof if jDof j gt 0 then v0 v j k rval j k v0 dt a0 half end if continue else if stepTime eq zero then Initialization 2 a0 zero do 320 k 1 nblock do 320 j 1 nDof if jDof j gt 0 then rval j k a0 end if continue else Time incrementation amplitude 2 0 period 0 8 twopi 6 2831853d0 do 350 k 1 nblock do 350 j 1 nDof if jDo f j gt 0 then rval j k amplitude 1 2 1 6 350 end if continue end if end if return end 1 2 1 7 VDISP sin twopi stepTime period VDLOAD 1 2 2 VDLOAD User subroutine to specify nonuniform distributed loads Product Abaqus Explicit References e Applving loads overview Section 32 4 1 of the Abaqus Analvsis User s Manual e Distributed loads Section 32 4 3 of the Abaqus Analysis User s Manual e DLOAD e DSLOAD e Deformation of a sandwich plate under
60. 1 1 28 UDSECURRENT Section 1 1 26 UEXPAN Section 1 1 29 UEXTERNALDB Section 1 1 30 UFIELD Section 1 1 31 UFLUID Section 1 1 32 1 1 1 Abaqus Standard SUBROUTINES Abaqus Standard SUBROUTINES e UFLUIDLEAKOFF Section 1 1 33 e UGENS Section 1 1 34 e UHARD Section 1 1 35 e UHYPEL Section 1 1 36 e UHYPER Section 1 1 37 e UINTER Section 1 1 38 e UMASFL Section 1 1 39 e UMAT Section 1 1 40 e UMATHT Section 1 1 41 e UMESHMOTION Section 1 1 42 e UMOTION Section 1 1 43 e UMULLINS Section 1 1 44 e UPOREP Section 1 1 45 e UPRESS Section 1 1 46 e UPSD Section 1 1 47 e URDFIL Section 1 1 48 e USDFLD Section 1 1 49 e UTEMP Section 1 1 50 e UTRACLOAD Section 1 1 51 e UTRS Section 1 1 52 e UVARM Section 1 1 53 e UWAVE Section 1 1 54 e VOIDRI Section 1 1 55 1 1 2 CREEP 1 1 1 CREEP User subroutine to define time dependent viscoplastic behavior creep and swelling Product Abaqus Standard References e Rate dependent plasticity creep and swelling Section 22 2 4 of the Abaqus Analysis User s Manual e Extended Drucker Prager models Section 22 3 1 of the Abaqus Analysis User s Manual e Modified Drucker Prager Cap model Section 22 3 2 of the Abaqus Analysis User s Manual e Defining the gas
61. 1 54 2 1 13 3 PRINTING MESSAGES 2 1 14 PRINTING MESSAGES TO THE MESSAGE OR STATUS FILE Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e UWAVE and UEXTERNALDB Section 4 1 27 of the Abaqus Verification Manual e VUMAT rotating cylinder Section 4 1 37 of the Abaqus Verification Manual Overview Utility routines STDB ABQERR and XPLB ABQERR can be called from any Abaqus Standard or Abaqus Explicit user subroutine respectively to issue an informational a warning or an error message to the message msg file in Abaqus Standard or the status sta file in Abaqus Explicit Interface DIMENSION INTV REALV CHARACTER 8 CHARV CALL STDB ABQERR LOP STRING INTV REALV CHARV or CALL XPLB ABQERR LOP STRING INTV REALV CHARV Variables to be provided to the utility routine LOP Flag for the type of message to be issued Set LOP 1 if an informational message is to be issued Set LOP 1 if a warning message is to be issued Set LOP 2 if an error message is to be issued and the analysis is to be continued Set LOP 3 if an error message is to be issued and the analysis is to be stopped immediately STRING A string of at most 500 characters long between single quotes containing the message to be issued If the string needs to be written on more than one line several one line long strings
62. 2 10 7 VUEL nnode User defined number of nodes on the elements Defining the number of nodes associated with the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual jtvpe Integer defining the element type This is the user defined integer value n in element type VUn Assigning an element type key to a user defined element in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual kstep Current step number kinc Current increment number npredef Number of predefined field variables including temperature For user elements Abaqus Explicit uses one value for each field variable per node VUEL 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 The degrees of freedom that will be updated automatically in Abaqus Explicit are 1 3 displacements 4 6 rotations 8 pressure and 11 temperature Depending on the procedure type see below only some of the degrees of freedom listed above will be updated Other degrees of freedom will not be updated by the time integration procedure in Abaqus Explicit and hence should not be used The mass matrix defined in user subroutine VUEL must be symmetric In addition the following requirements apply e The mass matrix entries associate
63. 4 FRIC PRESS p contact pressure at end of increment DPRESS Ap increment in contact pressure DDPDDH OAp OAh current contact stiffness in the case of soft contact Contact pressure overclosure relationships Section 35 1 2 of the Abaqus Analysis User s Manual SLIP NFDIR Total nonrecoverable sliding motion slip at the beginning of the increment 7 This value is the accumulated value of DSLIP NFDIR from previous increments KSTEP Step number KINC Increment number TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment DTIME Current increment in time NOEL Element label for contact elements Passed in as zero if contact surfaces are defined CINAME User specified surface interaction name associated with the friction definition left justified For contact elements it is the element set name given for the interface definition associated with the friction definition if an optional name is assigned to the interface definition CINAME is passed in as this name left justified SLNAME Slave surface name Passed in as blank if contact elements are used MSNAME Master surface name Passed in as blank if contact elements are used NPT Integration point number for contact elements Passed in as zero if contact surfaces are defined 1 1 8 5 FRIC NODE User defined global slave node number or internal node number for models defin
64. 9 VUEL Define an element 1 2 10 VUFIELD Specifv predefined field variables 1 2 11 VUFLUIDEXCH Define the mass flow rate heat energy flow rate for fluid exchange 1 2 12 VUFLUIDEXCHEFFAREA Define the effective area for fluid exchange 1 2 13 VUHARD Define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models 1 2 14 VUINTER Define the interaction between contact surfaces 1 2 15 VUINTERACTION Define the contact interaction between surfaces with the general contact algorithm 1 2 16 VUMAT Define material behavior 1 2 17 VUSDFLD Redefine field variables at a material point 1 2 18 VUTRS Define a reduced time shift function for a viscoelastic material 1 2 19 VUVISCOSITY Define the shear viscosity for equation of state models 1 2 20 VWAVE Define wave kinematics for an analysis 1 2 21 2 Utility Routines Obtaining Abaqus environment variables 2 1 1 Obtaining the Abaqus job name 2 1 2 Obtaining the Abaqus output directory name 2 1 3 Obtaining parallel processes information 2 1 4 Obtaining part information 2 1 5 Obtaining material point information in an Abaqus Standard analysis 2 1 6 Obtaining material point information in an Abaqus Explicit analvsis 2 1 7 Obtaining material point information averaged at a node 2 1 8 Obtaining node point information 2 1 9 Obtaining node to element connectivitv 2 1 10 Obtaining stress invariants principal stress strain values and directions and rotati
65. ARRAY 15 JARRAY 15 JMAC JMATYP COORD C C Error counter JERROR 0 C Stress tensor CALL GETVRM S ARRAY JARRAY FLGRAY JRCD JMAC JMATYP 1 MATLAYO LACCFLA JERROR JRCD JERROR UVAR 1 UVAR 2 UVAR 3 UVAR 4 UVAR 5 UVAR 6 ARRAY 1 ARRAY 2 ARRAY 3 ARRAY 4 ARRAY 5 ARRAY 6 C Kinematic shift tensor CALL GETVRM ALPHA ARRAY JARRAY FLGRAY JRCD JMAC JMATYP 1 MATLAYO LACCFLA JERROR JRCD C Calculate the position relative to the center of the C yield surface JERROR UVAR 1 UVAR 2 UVAR 3 UVAR 4 UVAR 5 UVAR 6 C If error write comment IF JERROR NE 0 THEN WRITE 6 UVAR 1 UVAR 2 UVAR 3 UVAR 4 UVAR 5 UVAR 6 ARRAY 1 ARRAY 2 ARRAY 3 ARRAY 4 ARRAY 5 ARRAY 6 to DAT file REQUEST ERROR IN UVARM FOR ELEMENT NUMBER 1 NOEL INTEGRATION POINT NUMBER NPT ENDIF RETURN END 1 1 53 5 UWAVE 1 1 54 UWAVE User subroutine to define wave kinematics for an Abaqus Aqua analvsis Products Abaqus Standard Abaqus Aqua References e Abaqus Aqua analysis Section 6 11 1 of the Abaqus Analysis User s Manual e WAVE Overview User subroutine UWAVE e will be called at each load integration point for which an Abaqus Aqua load is specified and a user defined gravitv wave is specified e canbe used to define the wave kinematics fluid velocitv and acceleration dvnamic pressur
66. Abaqus Verification Manual Overview Utility routines GETJOBNAME and VGETJOBNAME can be called from any Abaqus Standard or Abaqus Explicit user subroutine respectively to obtain the name of the current job Interface character 256 JOBNAME CALL GETJOBNAME JOBNAME LENJOBNAME CALL VGETJOBNAME JOBNAME LENJOBNAME Variables returned from the utilitv routine JOBNAME Character string to receive the value of the job name LENJOBNAME Length of the character string JOBNAME 2 1 2 1 OBTAINING THE OUTPUT DIRECTORV NAME 2 1 3 OBTAINING THE Abaqus OUTPUT DIRECTORV NAME Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e UWAVE and UEXTERNALDB Section 4 1 27 of the Abaqus Verification Manual Overview Utility routines GETOUTDIR and VGETOUTDIR can be called from any Abaqus Standard or Abaqus Explicit user subroutine respectively to obtain the output directory of the current job Interface character 256 OUTDIR CALL GETOUTDIR OUTDIR LENOUTDIR CALL VGETOUTDIR OUTDIR LENOUTDIR Variables returned from the utility routine OUTDIR Character string to receive the value of the output directory name LENOUTDIR Length of the character string OUTDIR 2 1 3 1 OBTAINING PROCESS INFORMATION 2 1 4 OBTAINING PARALLEL PROCESSES INFORMATION Products Abaqus Standard Abaqus Explicit References
67. Drucker Prager models Section 22 3 1 of the Abaqus Analysis User s Manual for a discussion of 1 e and Capped Drucker Prager materials For materials that vield according to the modified Drucker Prager Cap plasticitv model using cap creep the routine allows any cohesion creep and consolidation creep laws viscoplastic behavior of the following general form to be defined gar g a ET time zer ser cr SET 4 Er gf p ES time where ov is the equivalent creep stress defined from uniaxial compression test data as err _ 47 P tan p T73 tan p where q is the equivalent deviatoric Mises stress p is the pressure stress and 3 is the friction angle ET is the equivalent cohesion creep uniaxial strain conjugate to 5 such that a Aes Aes where Aes is defined below P p pa is the effective creep pressure p o11 022 033 and p is the cap hardening parameter and EL is the volumetric consolidation creep strain The user subroutine must define the increments of inelastic strain A and or AES as functions of 5 and or 5 and any other variables used in the definitions of g and gS such as solution dependent state variables introduced by you and of the time increment At If any solution dependent state variables are included in the definitions of g and gs they must also be integrated forward in time in this routine Calculation
68. E at the start of the increment e Gasket creep e at the start of th increment 1 1 1 9 CREEP EC 2 The definition depends on the usage zer e Metal creep and Drucker Prager creep 77 at the end of the increment e Capped Drucker Prager creep 47 at the end of the increment e Gasket creep e 7 at the end of the increment ESW 1 The definition depends on the usage e Metal creep 2 at the start of the increment zer e Capped Drucker Prager creep 47 at the start of the increment e Drucker Prager and gasket creep 0 ESW 2 The definition depends on the usage e Metal creep 2 at the end of the increment FET e Capped Drucker Prager creep 07 at the end of the increment e Drucker Prager and gasket creep 0 P The definition depends on the usage e Metal creep and Drucker Prager creep p 011 022 033 equivalent pressure stress in soils analysis this is the equivalent effective pressure stress e Capped Drucker Prager creep p p pa effective creep pressure in soils analysis p is the effective pressure stress e Gasket creep 0 If LEND 0 the value is por 9 at the beginning of the increment If LEND 1 the value is p or p at the end of the increment QTILD The definition depends on the usage e Metal creep g Mises or Hill equivalent stress the Hill formula is used if anisotropic creep is defined see Anisotropic creep i
69. Explicit You can also modify NBLOCK by setting any desirable value through BLOCKING n NFIELD User specified number of field variables to be updated The default value is 1 KFIELD User specified field variable number This variable is meaningful only when updating individual field variables at a time otherwise the value is set to 1 NCOMP Maximum number of section values required for any node in the model When fields are applied to nodes that are part of pipe beam or shell elements VUFIELD is invoked in two passes the first pass with NCOMP passed in with the value of 1 and the second pass with NCOMP passed in with the value equal to the total number of section points minus 1 KSTEP Current step number KINC Increment number for step KSTEP JNODEUID NBLOCK Array for user defined node numbers This array is dimensioned based on the size of NBLOCK and the contained node numbers are identical to those defined in the input file You can perform additional interdependent field variable operations by using nodal indices stored in this array TIME 4 Array for information of analysis time You can retrieve any time information from this array by using the parameters given above TIME i ufld Current stores the current analysis time TIME i ufld Increment gives the time increment at this instance TIME i ufld Period is the time period of the current step and TIME i ufld Total is the total analysis time up to this point You
70. GAPCON Section 4 1 6 of the Abaqus Verification Manual Overview User subroutine GAPCON e assumes that the heat transfer between surfaces is modeled as q k 04 0g where q is the heat flux per unit area flowing between corresponding points A and B on the surfaces kis the gap conductance and 6 and f p are the surface temperatures e is used to define k providing greater flexibility than direct gap conductance definition in specifying the dependencies of k for example it is not necessary to define the gap conductance as a function of the average of the two surfaces temperatures mass flow rates or field variables e will be called at the slave nodes of a contact pair and at the integration points in a contact or a gap element for which the heat conductance definition contains a user subroutine defined gap conductance and e ignores any dependencies or data specified for the gap conductance outside the user subroutine Usage with contact pairs and gap elements When this subroutine is used with a contact pair point A is on the slave surface and point B is on the master surface When GAPCON is used with gap elements of type DGAP or GAPUNIT point A is on the first node of the element and point B is the second node of the element User subroutine interface SUBROUTINE GAPCON AK D FLOWM TEMP PREDEF TIME CINAME SLNAME 1 MSNAME COORDS NOEL NODE NPRED KSTEP KINC c INCLUDE ABA PARAM INC c CHARACTER 80 CINAME
71. INCREASED SINCE 1 1 48 4 C LAST INCREMENT c IF CURRMAX LE OLDMAX LSTOP 1 OLDMAX CURRMAX LOVRWRT 1 c RETURN END 1 1 48 5 URDFIL 1 1 49 USDFLD USDFLD User subroutine to redefine field variables at a material point Product Abaqus Standard References Obtaining material point information in an Abaqus Standard analysis Section 2 1 6 Material data definition Section 20 1 2 of the Abaqus Analysis User s Manual USER DEFINED FIELD Damage and failure of a laminated composite plate Section 1 1 14 of the Abaqus Example Problems Manual USDFLD Section 4 1 24 of the Abaqus Verification Manual Overview User subroutine USDFLD allows you to define field variables at a material point as functions of time or ofany of the available material point quantities listed in the Output Variable Identifiers table Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analysis User s Manual except the user defined output variables UVARM and UVARMn can be used to introduce solution dependent material properties since such properties can easily be defined as functions of field variables will be called at all material points of elements for which the material definition includes user defined field variables must call utility routine GETVRM to access material point data can use and update state variables and can be used in conjunction with user subroutine UFIELD to
72. In the above equations the thermal constitutive behavior of the material is given by Vv V S U U 0 8 00 0x s JU U 6 g t s 1 1 41 6 UMATHT and f f 0 t 00 dx s f f 0 g t s where s are state variables The Jacobian for Newton s method is given by after dropping the subscripts t At on U 1 OU 1 OU N f s 39 d dV xi oe dgdV of Of te 5gtbdV g gi dedv 00 V dg Or q JIU IKEL The thermal constitutive behavior for this example is now defined We assume a constant specific heat for the material The heat conduction in the material is assumed to be governed bv Fourier s law The internal thermal energy per unit mass is defined as U U 9 with ou oo where c is the specific heat of the material and OU Se dg Fourier s law for heat conduction is given as f k 8 where k is the thermal conductivitv matrix and x is position so that of Pr k and f k a w The assumption of conductivity without any temperature dependence implies that 1 1 41 7 UMATHT of No state variables are needed for this material so the allocation of space for them is not necessarv A thermal user material definition can be used to read in the two constants for our simple case namelv the specific heat c and the coefficient of thermal conductivitv k so that PROPS 1 k PROPS 2 c SUBROUTINE UMATHT U DUDT DUDG FLUX DFDT DFDG 1 STAT
73. JDOF 3 1 6 JDOF 1 2 6 JDOF 1 3 4 END IF c RETURN END 1 1 14 18 1 1 15 ORIENT ORIENT User subroutine to provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid bodv directions for inertia relief Product Abaqus Standard References Orientations Section 2 2 5 of the Abaqus Analysis User s Manual xORIENTATION Eigenvalue analysis of a piezoelectric transducer Section 7 1 1 of the Abaqus Example Problems Manual Overview User subroutine ORIENT will be called at the start of the analysis at each location material point special purpose element coupling node or reference point for inertia relief for which local directions are defined with a user subroutine defined orientation is used to define the direction cosines of a local system of material directions with respect to the default basis directions default basis directions are defined as the global directions for continuum elements and as the default surface directions for shell membrane and surface elements as described in Conventions Section 1 2 2 ofthe Abaqus Analysis User s Manual can be used to define the direction cosines orienting the layer of reinforcing material in membrane shell or surface elements see Defining reinforcement Section 2 2 3 of the Abaqus Analysis User s Manual can be used to provide a local system for defining the
74. LREBAR Rebar flag If LREBAR I the current integration point is associated with element rebar Otherwise LREBAR 0 REBARN Name of the rebar to which the current integration point belongs which is the name given in the rebar or rebar layer definition Defining reinforcement Section 2 2 3 of the Abaqus Analysis User s Manual or Defining rebar as an element property Section 2 2 4 of the Abaqus Analysis User s Manual If no name was given in the rebar or rebar layer definition this variable will be blank This variable is relevant only when LREBAR 1 1 1 12 3 1 1 13 HETVAL HETVAL User subroutine to provide internal heat generation in heat transfer analysis Product Abaqus Standard References Uncoupled heat transfer analysis Section 6 5 2 ofthe Abaqus Analysis User s Manual Fully coupled thermal stress analysis Section 6 5 4 ofthe Abaqus Analysis User s Manual Fully coupled thermal electrical structural analysis Section 6 7 4 ofthe Abaqus Analysis User s Manual xHEAT GENERATION HETVAL Section 4 1 9 of the Abaqus Verification Manual Overview User subroutine HETVAL can be used to define a heat flux due to internal heat generation in a material for example as might be associated with phase changes occurring during the solution allows for the dependence of internal heat generation on state variables such as the fraction of material transformed that themselves evol
75. PSD User specified name for the frequency function that references this correlation left justified KSTEP Step number LCASE Load case number 1 JNODE1 First node involved N not used for base motion excitation JDOF1 Degree of freedom iat the first node for concentrated or distributed load excitation or global excitation direction 2 for base motion excitation JNODE2 Second node involved M not used for base motion excitation 1 1 22 2 UCORR JDOF2 Degree of freedom j at the second node for concentrated or distributed load excitation or global excitation direction j for base motion excitation COOR1 An array containing the coordinates of the first node not used for base motion excitation COOR2 An array containing the coordinates of the second node not used for base motion excitation 1 1 22 3 UDECURRENT 1 1 23 UDECURRENT User subroutine to define nonuniform volume current density in an eddy current analysis Product Abaqus Standard References e Time harmonic eddy current analysis Section 6 7 5 of the Abaqus Analysis User s Manual e DECURRENT Overview User subroutine UDECURRENT e can be used to define the variation of volume current density vector as a function of position excitation frequency phase element number etc e will be called at each load integration point for each element based nonuniform volume current density definition during eddy current analysis an
76. Section 2 1 15 e Obtaining sensor information Section 2 1 16 e Accessing Abaqus materials Section 2 1 17 e Accessing Abaqus thermal materials Section 2 1 18 2 14 OBTAINING ENVIRONMENT VARIABLES 2 1 1 OBTAINING Abaqus ENVIRONMENT VARIABLES Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e Using the Abaqus environment settings Section 3 3 1 of the Abaqus Analysis User s Manual e UWAVE and UEXTERNALDB Section 4 1 27 of the Abaqus Verification Manual Overview Utilitv routines GETENVVAR and VGETENVVAR can be called from anv Abaqus Standard or Abaqus Explicit user subroutine respectivelv to obtain the value of an environment variable Interface character 256 ENVVAR CALL GETENVVAR ENVVARNAME ENVVAR LENVVAR CALL VGETENVVAR ENVVARNAME ENVVAR LENVVAR Variable to be provided to the utilitv routine ENVVARNAME Environment variable name Variables returned from the utilitv routine ENVVAR Character string to receive the value of the environment variable LENVVAR Length of the character string ENVVAR 2 1 1 1 OBTAINING THE JOB NAME 2 1 2 OBTAINING THE Abaqus JOB NAME Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e UWAVE and UEXTERNALDB Section 4 1 27 of the
77. Systemes ADRs may be traded on the US Over The Counter OTC market DASTY For more information visit www 3ds com JS DASSAULT SUSTEMES subsidiaries in the US and or other countries Other company product and service names may be trademarks or service marks of their respective owners Dassault Systemes 2011 www 3ds com Abaqus the 3DS logo SIMULIA CATIA Solidworks DELMIA ENOVIA 3DVIA and Unified FEA are trademarks or registered trademarks of Dassault Syst mes or its
78. TIME NODE COORDS c INCLUDE ABA PARAM INC c DIMENSION TIME 2 COORDS 3 c user coding to define PRESS RETURN END Variable to be defined PRESS Total value of the equivalent pressure stress at the node 1 1 46 1 UPRESS You may have also requested equivalent pressure stress to be set in one of two other ways from a previously generated results file or via direct data input When PRESS is passed into user subroutine UPRESS it will contain equivalent pressure stresses obtained from the results file only You can modify these values within this routine Any values given as direct data input will be ignored Variables passed in for information KSTEP Step number KINC Increment number TIME 1 Current value of step time TIME 2 Current value of total time NODE Node number COORDS An array containing the coordinates of this node 1 1 46 2 UPSD 1 1 47 UPSD User subroutine to define the frequencv dependence for random response loading Product Abaqus Standard References e Random response analvsis Section 6 3 11 of the Abaqus Analvsis User s Manual e RANDOM RESPONSE e PSD DEFINITION e Random response to jet noise excitation Section 1 4 10 of the Abaqus Benchmarks Manual Overview User subroutine UPSD e willbe called once for each frequency at which calculations will be made during a random response analysis if the frequency function is defined in a user subrou
79. This array lists the user defined global node numbers or internal node numbers for models defined in terms of an assembly of part instances of the nodes on the master surface If the master surface is an analytical rigid surface this array is passed in as a dummv array jConSlvid nContact This arrav lists the surface node numbers of the slave surface nodes that are in contact jConMstid nFacNod nContact This array lists the surface node numbers of the master surface nodes that make up the facet with which each contact point is in contact Ifthe master surface is an analytical rigid surface this array is passed in as a dummy array timStep Value of step time timGlb Value of total time dtimCur Current increment in time from t tcurr At to t tour surfint User specified surface interaction name left justified surfSlv Slave surface name surfMst Master surface name 1ContType Contact type flag This flag is set based on the type of constraint enforcement method see Contact constraint enforcement methods in Abaqus Explicit Section 36 2 3 of the Abaqus Analysis User s Manual being used 1 for kinematic contact and 2 for penalty contact Stick conditions are satisfied exactly with the kinematic contact algorithm they are satisfied only approximately subject to an automatically chosen penalty stiffness value with the penalty contact algorithm 1 2 4 6 VFRIC dSlipFric nDir nContact This array co
80. VALUES 2 1 12 OBTAINING PRINCIPAL STRESS STRAIN VALUES AND DIRECTIONS IN AN Abaqus Explicit ANALVSIS Product Abaqus Explicit Reference e VUMAT Section 1 2 17 Overview For Abaqus Explicit user subroutines that store stress and strain components according to the convention presented in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual a number of utility routines are available for calculating principal stress strain values and principal stress strain directions from the relevant tensors These routines are most commonly called from user subroutine VUMAT The following utility subroutines are available in Abaqus Explicit to perform tensor operations e VSPRINC calculate principal values e VSPRIND calculate principal values and directions These utility subroutines are described below VSPRINC calculate principal values Interface call vsprinc nblock s eigVal ndir nshr Variables to be provided to the utility routine s nblock ndir nshr Stress or strain symmetric tensor nblock Number of material points to be processed in this call to VSPRINC ndir Number of direct components in the symmetric tensor nshr Number of shear components in the symmetric tensor 2 1 12 1 INVARIANTS AND PRINCIPAL VALUES Variable returned from the utilitv routine eigVal nblock I I 1 2 3 The three principal values VSPRIND calculate principal values and directions Inte
81. VUEL v nblock ndofel a nblock ndofel dMassScaleFactor nblock predef nblock nnode npredef nPred adlmag nblock I do kblock 1 nblock user coding to define rhs amass dtimeStable svars and energy end do RETURN END Variables to be defined Some of the following arrays depend on the value of the 1flags array rhs An array containing the contributions of each element to the right hand side vector of the overall system of equations Depending on the settings of the 1 lags array it contains either the internal force from the element or the external load calculated from the specified distributed loads amass An array containing the contribution of each element to the mass matrix of the overall system of equations All nonzero entries in amass should be defined Moreover the mass matrix must be symmetric There are several other requirements that apply depending on the active degrees of freedom specified These requirements are explained in detail below dtimeStable A scalar value defining for each element the upper limit of the time increment for stability considerations This would be the maximum time increment to be used in the subsequent increment for this element to be stable to satisfy the Courant condition This value depends strongly on the element formulation and it is important that is computed appropriately svars An array containing the values of the solution dependent state variables associate
82. a completely rigid surface A may appear to penetrate the surface during the iterations because the kinematic constraints are not fully satisfied until an increment converges P 3 Position of the point A on the surface of the rigid body closest to point A on the surface of the deforming structure TGT 3 2 Direction cosines of the two unit tangents to the surface tl and t at point A For two dimensional cases only the first two components of tl need be given since in this case Abaqus Standard assumes that t is 0 0 1 DNDS 3 2 Rates of change of the surface normal n at A with respect to distance measuring coordinates Sl and S along t and t For two dimensional cases only the first two entries in the first column of DNDS 0n1 0S1 On2 OS are required The array DNDS is not required to be assigned for the surface to surface contact formulation 1 1 16 3 RSURFU Variables passed in for information X K1 1 Current coordinates of point A on the surface of the deforming structure X K1 2 Current coordinates of the rigid bodv reference point X K1 3 Unit normal vector for point A relevant only for the surface to surface contact formulation TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment U K1 1 Total displacement of point A on the surface of the deforming structure U K1 2 Total displacement and rotation of the rigid body refe
83. a two dimensional model and three for a three dimensional model npt Current integration point number 1 2 3 4 VFABRIC laver kspt Current laver number in the case of a composite section Current material point number within the section kStep kInc Current Abaqus step number Increment number of the current Abaqus step nstatev Number of user defined state variables that are associated with this material type you define this as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops 10p User specified number of user defined material properties Integer flag indicating the computation that is expected 10p 2 indicates that the routine is being called to initialize the stresses corresponding to the initial strains which can be large 10p 1 indicates that the routine is being called to update the stresses based on the instantaneous elastic response for a small artificial strain increment given lOp 0 indicates that this is an annealing process and you should reinitialize the internal state variables stateNew if necessary The stresses will be set to zero by Abaqus 1Op 1 indicates that the routine is being called to update the stresses and the state for a given strain increment jElem nblock Array of element numbers stepTime Value of time since
84. are associated with this material type see Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined material properties 1 2 19 2 VUTRS stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given bv totalTime stepTime dt Time increment size cmname Material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ character string To avoid conflict ABQ_ should not be used as the leading string for cmname props nprops User supplied material properties density nblock Current density at the material points in the midstep configuration This value may be inaccurate in problems where the volumetric strain increment is very small If an accurate value of the density is required in such cases the analysis should be run in double precision This value of the density is not affected by mass scaling coordMp nblock Material point coordinates It is the midplane material point for shell elements and the centroid for beam elements tempOld nblock Temperatures at each material point at the beginning of the increment fieldOld nblock nfieldv Values of the user defined field variables at each material p
85. are called at this material point Variables that can be updated STATEV NSTATV An array containing the solution dependent state variables These are passed in as the values at the beginning of the increment In 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 as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual PNEWDT Ratio of suggested new time increment to the time increment being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen 1 1 49 3 USDFLD PNEWDT is set to a large value before each call to USDFLD If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration If PNEWDT is given a value that is greater than 1 0 for all calls to user subroutines for this iteration and the increment conver
86. be used to define the isotropic frictional coefficient between contacting surfaces e corresponds to the classical Coulomb friction model and e can be used with the contact pair and general contact algorithms User subroutine interface subroutine fric coef C Write only fCoef fCoefDeriv C Read only nBlock nProps nTemp nFields jFlags rData surfInt surfSlv surfMst props slipRate pressure tempAvg fieldAvg Ka xXx include aba param inc dimension fCoef nBlock fCoefDeriv nBlock 3 props nProps slipRate nBlock pressure nBlock tempAvg nBlock fieldAvg nBlock nFields parameter iKStep 1 1 1 9 1 FRIC_COEF iKInc 2 nFlags 2 Cc parameter iTimStep 1 iTimGlb 2 iDTimCur 3 nData 3 c dimension jFlags nFlags rData nData e character 80 surfint surfSlv surfMst c user coding to define Coef return end Variables to be defined fCoef nBlock This array must be updated to the current values of the friction coefficient at the contact point fCoefDeriv nBlock 3 This array must be updated to the derivatives of the friction coefficient with respect to slip rate pressure and temperature at the contact point Variables passed in for information nBlock Equal to 1 nProps User specified number of property values associated with this friction model nTemp 1 if the temperature is defined and 0 if the temperature is not
87. components relative to the element basis directions For material point k this is the orientation that defines the material directions direct in terms of the element basis directions For continuum elements T and direct are identical For shell and membrane elements T k 1 1 cos T k 1 2 sinf T k 2 1 sin T k 2 2 cos6 T k 3 3 1 0 and all other components are zero where f is the 1 2 18 5 VUSDFLD counterclockwise rotation around the normal vector that defines the orientation If no orientation is used T is an identitv matrix Orientation is not available for beam elements charLength nblock Characteristic element length This is a tvpical length of a line across an element for a first order element it is half of the same tvpical length for a second order element For beams and trusses itisa characteristic length along the element axis For membranes and shells it is a characteristic length in the reference surface For axisymmetric elements it is a characteristic length in the r z plane only For cohesive elements it is equal to the constitutive thickness props nprops User supplied material properties stateOld nblock nstatev State variables at each material point at the beginning of the increment Example Damaged elasticitv model Included below is an example of user subroutine VUSDFLD In this example a truss element is loaded in tension A damaged elasticitv model is introduced the modulus decreas
88. current step ndofel Number of degrees of freedom in the elements processed nsvars User defined number of solution dependent state variables associated with the element Defining the number of solution dependent variables that must be stored within the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual nprops User defined number of real property values associated with the elements processed Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual njprops User defined number of integer property values associated with the elements processed Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual merd merd is defined as the maximum of the user defined maximum number of coordinates needed at any node point Defining the maximum number of coordinates needed at any nodal point in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual and the value of the largest active degree of freedom of the user element that is less than or equal to 3 For example if you specify that the maximum number of coordinates is 1 and the active degrees of freedom of the user element are 2 3 and 6 merd will be 3 If you specify that the maximum number of coordinates is 2 and the active degree of freedom of the user element is 11 merd will be 2 1
89. defined NODE Slave node number point A if GAPCON is called for a contact pair NPRED Number of predefined field variables KSTEP Step number KINC Increment number 1 1 10 3 GAPELECTR 1 1 11 GAPELECTR User subroutine to define electrical conductance between surfaces in a coupled thermal electrical or a coupled thermal electrical structural analysis Product Abaqus Standard References e Electrical contact properties Section 35 3 1 of the Abaqus Analysis User s Manual e xGAP ELECTRICAL CONDUCTANCE Overview User subroutine GAPELECTR e assumes that the electrical current flowing between the interface surfaces is modeled as J oglpa PB Where J is the electrical current density flowing across the interface from point A the slave surface to point B the master surface p4 and pp are the electrical potential on opposite points of the surfaces and a is the surface electrical conductance e is used to define o providing much greater flexibility than direct gap electrical conductance definition in specifying the dependencies of o for instance it is not necessary to define the gap electrical conductance as a function of the average of the two surfaces temperatures and or field variables e will be called at the slave nodes of a contact pair Defining contact pairs in Abaqus Standard Section 34 3 1 of the Abaqus Analysis User s Manual for which the gap electrical conductance is defined
90. definitions are always provided regardless of the scenario The local surface geometry is specified by two orthogonal tangents to the rigid surface at A as well as the rates of change of the outward pointing normal at A n with respect to local surface coordinates that are distance measuring along the tangents Sl and S2 see Figure 1 1 16 1 n Figure 1 1 16 1 Local geometry on a rigid surface The tangents to the surface at A must be defined so that their positive right handed cross product is the outward normal to the surface For two dimensional cases Abaqus Standard assumes that the second tangent is 0 0 1 so that when you give the direction cosines of the first tangent as t1 ta 0 the 1 1 16 2 RSURFU outward normal will be t2 t1 0 The rates of change of the normal with respect to S1 and S are required to define the local curvature of the surface User subroutine interface SUBROUTINE RSURFU H P TGT DNDS X TIME U CINAME SLNAME 1 MSNAME NOEL NODE LCLOSE c INCLUDE ABA PARAM INC c CHARACTER 80 CINAME SLNAME MSNAME c DIMENSION P 3 TGT 3 2 DNDS 3 2 X 3 3 TIME 2 U 6 2 user coding to define H P TGT and DNDS RETURN END Variables to be defined H Penetration of the point A on the deforming structure into the surface of the rigid body measured down the outward normal to the rigid surface A negative value of H indicates that A is outside the rigid surface Even for
91. direction of action of rotary inertia spring dashpot flexible joint and elastic plastic joint elements can be used with gasket elements to define the local in plane directions for three dimensional area and three dimensional link elements that consider transverse shear and membrane deformations see Defining the gasket behavior directly using a gasket behavior model Section 31 6 6 of the Abaqus Analysis User s Manual can be used to define a local system in which coupling constraints are applied see Coupling constraints Section 33 3 2 of the Abaqus Analysis User s Manual and Kinematic coupling constraints Section 33 2 3 ofthe Abaqus Analysis User s Manual can be used to define a local system at the reference point for the rigid body directions in which inertia relief loads are applied for the entire model see Inertia relief Section 11 1 1 of the Abaqus Analysis User s Manual will ignore rotation angles defined for layers of composite solids see Solid continuum elements Section 27 1 1 of the Abaqus Analysis User s Manual but will take into account rotation angles 1 1 15 1 ORIENT defined for layers of composite shells see Using a shell section integrated during the analysis to define the section behavior Section 28 6 5 ofthe Abaqus Analysis User s Manual and Using a general shell section to define the section behavior Section 28 6 6 ofthe Abaqus Analysis User s Manual
92. e fabricStrainInc ndirStrain may also be set by the user for changing thickness as a function of material in plane state include vaba param inc parameter ndirStrain 3 nshr 1 ndirStress 2 one 1 d0 two 2 40 NOTE The constants defined above are used for array dimensions and computation below dimension jElem nblock coordMp nblock ndim charLength nblock props nprops density nblock braidAngle nblock fabricStrain nblock ndirStrain nshr fabricStrainInc nblock ndirStrain nshr tempOld nblock fieldold nblock nfieldv fabricStressold nblock ndirStress nshr stateOld nblock nstatev tempNew nblock fieldNew nblock nfieldv fabricStressNew nblock ndirStress nshr stateNew nblock nstatev enerIntern nblock enerInelas nblock KE AME ME ME ME IT FF FH FH IF FH FH HH character 80 cmname Read properties 1 2 3 8 a AAANA Let VFABRIC El props 1 E2 z props 2 xnul2 props 3 twiceGl2 two props 4 xnu2l E2 xnul2 El us assume xnul3 xnul2 xnu23 xnu2l xnul30OverEl xnul3 El xnu230verE2 xnu23 E2 fr one one xnul2 xnu2l D11 El fr D22 E2 fr D12 E2 xnul2 fr dok 1 nblock Update the stress D11 fabricStraininc k 1 D12 fabricStrainInc k 2 D22 fabricStrainInc k 2 D12 fabricStrainInc k 1 twiceGl2 fabricStrainInc k ndirStrain 1 stressIncll stressInc22 stressInc
93. field variables such as temperature in an uncoupled stress displacement analysis at the nodes of the element Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual The first index of the array K1 is either 1 or 2 with 1 indicating the value of the field variable at the end of the increment and 2 indicating the increment in the field variable The second index K2 indicates the variable the temperature corresponds to index 1 and the predefined field variables correspond to indices 2 and above In cases where temperature is not defined the predefined field variables begin with index 1 The third index K3 indicates the local node number on the element PREDEF K1 1 K3 Temperature PREDEF K1 2 K3 First predefined field variable PREDEF K1 3 K3 Second predefined field variable Etc Any other predefined field variable 1 1 27 5 veL PREDEF K1 K2 K3 PREDEF 1 K2 K3 PREDEF 2 K2 K3 PARAMS Total or incremental value of the K2th predefined field variable at the K3th node of the element Values of the variables at the end of the current increment Incremental values corresponding to the current time increment An array containing the parameters associated with the solution procedure The entries in this array depend on the solution procedure currently being used when UEL is called as indicated by the entries in the LFLAGS array see below For implicit dynamics LFLAGS 1 11 or 12 PARA
94. follows subroutine vuanisohvper inv C Read only nblock nFiber nInv jElem kIntPt kLayer kSecPt cmname nstatev nfieldv nprops props tempOld tempNew fieldold fieldNew stateOld sInvariant zeta c Write only uDev duDi d2uDiDi stateNew include vaba param inc dimension props nprops tempOld nblock fieldold nblock nfieldv stateOld nblock nstatev tempNew nblock fieldNew nblock nfieldv sInvariant nblock nInv zeta nblock nFiber nFiber 1 2 uDev nblock duDi nblock d2uDiDi nblock stateNew nblock nstatev F F character 80 cmname parameter zero 0 d0 one 1 d0 two 2 d0 three 3 d0 four 4 d0 five 5 d0 six 6 d0 1 2 8 7 VUANISOHVPER INV Kaliske energv function 3D AARAN Read material properties d props 1 dinv one d al props 2 a2 props 3 a3 props 4 bil props 5 b2 props 6 b3 props 7 c2 props 8 c3 props 9 c4 props 10 c5 props 11 c6 props 12 d2 props 13 d3 props 14 d4 props 15 d5 props 16 d6 props 17 e2 props 18 e3 props 19 e4 props 20 e5 props 21 e6 props 22 f2 props 23 3 props 24 f4 props 25 f5 props 26 6 props 27 g2 props 28 g3 props 29 g4 props 30 g5 props 31 g6 props 32 do k 1 nblock Udev k zero Cc Compute Udev and 1st and 2nd derivatives w r t invariants c I1 1 2 8 8 F ox Xxx F
95. i 1 plasticWorkInc density i 100 continue C PRPRR return end 1 2 17 14 1 2 18 VUSDFLD VUSDFLD User subroutine to redefine field variables at a material point Product Abaqus Explicit References Obtaining material point information in an Abaqus Standard analysis Section 2 1 6 Material data definition Section 20 1 2 ofthe Abaqus Analysis User s Manual USER DEFINED FIELD Damage and failure of a laminated composite plate Section 1 1 14 of the Abaqus Example Problems Manual VUSDFLD Section 4 1 38 ofthe Abaqus Verification Manual Overview User subroutine VUSDFLD allows the redefinition of field variables at a material point as functions of time or of any of the available material point quantities listed in Available output variable keys in Obtaining material point information in an Abaqus Explicit analysis Section 2 1 7 can be used to introduce solution dependent material properties since such properties can be easily defined as functions of field variables will be called at all material points of elements for which the material definition includes user defined field variables can call utility routine VGETVRM to access material point data and can use and update solution dependent state variables Explicit solution dependence Since this routine provides access to material point quantities onlv at the start of the increment the material properties fo
96. in this subroutine The array Tangential is dimensioned such that only the tangential components can be specified Any components of the frictional force that are not specified will remain equal to zero For isotropic friction only the first component of the frictional force need be specified since the second component should be zero A stick force at each contact point is provided in the array fStickForce to assist you in setting appropriate frictional force values The stick force is the force required to prevent additional plastic slipping The stick force at each contact point is provided as a scalar value as it would act in the direction opposite to ti The stick force is computed prior to calling user subroutine VFRICTION The first component of the frictional force should be in the range between zero and the 1 2 6 2 VFRICTION negative of the stick force value Typically the stick force will be positive and the first component of the applied frictional force will be negative opposing the incremental slip Penalty contact includes an elastic slip regime due to finite penalty stiffness so occasionally the stick force will be negative during recovery of elastic slip indicating that it is appropriate for the first component of the frictional force to be positive i e acting in the same direction as the incremental slip A noisy or unstable solution is likely to result if the first component of Tangential is set outside the rang
97. indirect components in a symmetric tensor 1 2 18 4 VUSDFLD jElem Arrav of element numbers kIntPt Integration point number kLayer Layer number for composite shells kSecPt Section point number within the current laver stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given bv totalTime stepTime Time increment size cmname User specified material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ_ character string To avoid conflict you should not use ABQ as the leading string for cmname coordMp nblock Material point coordinates It is the midplane material point for shell elements and the centroid for beam elements direct nblock 3 3 An array containing the direction cosines of the material directions in terms of the global basis directions For material point k direct k 1 1 direct k 2 1 direct k 3 1 give the 1 2 3 components of the first material direction direct k 1 2 direct k 2 2 direct k 3 2 give the second material direction etc For shell and membrane elements the first two directions are in the plane of the element and the third direction is the normal This information is not available for beam elements T nblock 3 3 An atray containing the direction cosines of the material orientation
98. information Section 2 1 9 You can also access values of material point quantities extrapolated to and averaged at nodes at the end of the increment through the utility routine GETVRMAVGATNODE described in Obtaining material point information averaged at a node Section 2 1 8 GETVRMAVGATNODE requires the list of elements attached to the node which is obtained by calling the utility routine GETNODETOELEMCONN described in Obtaining node to element connectivity Section 2 1 10 User subroutine interface SUBROUTINE UMESHMOTION UREF ULOCAL NODE NNDOF LNODETYPE ALOCAL NDIM TIME DTIME PNEWDT KSTEP KINC KMESHSWEEP JMATYP JGVBLOCK LSMOOTH INCLUDE ABA PARAM INC DIMENSION ULOCAL NDIM JELEMLIST DIMENSION ALOCAL NDIM TIME 2 1 1 42 1 UMESHMOTION DIMENSION JMATYP JGVBLOCK user coding to define ULOCAL and optionally PNEWDT RETURN END Variable to be defined ULOCAL Components of the mesh displacement or velocity of the adaptive mesh constraint node described in the coordinate system ALOCAL ULOCAL will be passed into the routine as values determined by the mesh smoothing algorithm All components of the mesh displacement or velocity will be applied i e you do not have the ability to select the directions in which the mesh displacement should be applied Variables that can be updated PNEWDT Ratio of suggested new time increment to the time increment currently being u
99. integer function indx i j include vaba param inc ii min i j 1 2 8 11 VUANISOHVPER INV aaa jj max i j indx ii jj jj 1 2 return end Function to generate enumeration of scalar Pseudo Invariants of type 4 integer function indxInv4 i j include vaba param inc ii min i j jj max i j indxInv4 4 jj jj 1 2 ii l return end Function to generate enumeration of scalar Pseudo Invariants of type 5 integer function indxInv5 i j include vaba param inc ii min i j jj max i j indxInv5 5 jj jj 1 2 ii 1 return end Additional reference e Kaliske M and J Schmidt Formulation of Finite Nonlinear Anisotropic Elasticity CADFEM GmbH Infoplaner 2 2005 vol 2 pp 22 23 2005 1 2 8 12 VUANISOHVPER STRAIN 1 2 9 VUANISOHVPER STRAIN User subroutine to define anisotropic hvperelastic material behavior based on Green strain Product Abaqus Explicit References e Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e ANISOTROPIC HYPERELASTIC e UANISOHYPER INV and VUANISOHYPER_INV Section 4 1 13 of the Abaqus Verification Manual Overview User subroutine VUANISOHYPER STRAIN e can be used to define the strain energy potential of anisotropic hyperelastic materials as a function of the components of the Green strain tensor e will be called for blocks of material calculation points for which th
100. limit Example The example below reads the values of Mises stress for the current increment from record 12 in the results file and terminates the analvsis if anv of the values of Mises stress written to the results file exceed 2 09 x 10 Here POSFIL is used to position you to read from the current increment Q Q Example SUBROUTINE URDFIL LSTOP LOVRWRT KSTEP KINC DTIME TIME INCLUDE ABA PARAM INC DIMENSION ARRAY 513 JRRAY NPRECD 513 TIME 2 EQUIVALENCE ARRAY 1 JRRAY 1 1 PARAMETER TOL 2 09D8 FIND CURRENT INCREMENT CALL POSFIL KSTEP KINC ARRAY JRCD DO K1 1 999999 CALL DBFILE 0 ARRAY JRCD IF JRCD NE 0 GO TO 110 KEY JRRAY 1 2 RECORD 12 CONTAINS VALUES FOR SINV 110 IF KEY EQ 12 THEN IF ARRAY 3 GT TOL THEN LSTOP 1 GO TO 110 END IF END IF END DO CONTINUE RETURN END Terminating an analysis when the maximum Mises stress value stops increasing This example demonstrates the use of URDFIL and POSFIL to stop an analysis when the maximum value of Mises stress in the model does not increase from one increment in the results file to the next A data statement is used to save the maximum Mises stress value from the last increment LOVRWRT is also used in this case to overwrite an increment in the results file once it has been read in URDFIL 1 1 48 3 URDFIL The subroutine shown below must be modified to define the maximum Mises stress in the data statement each time a job
101. list else if cmname 1 4 eq MAT2 then call VUANISOHXVPER STRAIN2 argument list end if VUANISOHYPER STRAINI and VUANISOHYPER_STRAINZ2 are the actual subroutines containing the anisotropic hyperelastic models for each material MAT1 and MAT2 respectively Subroutine VUANISOHYPER STRAIN merely acts as a directory here The argument list can be the same as that used in subroutine VUANISOHXPER STRAIN The material names must be in uppercase characters since cmname is passed in as an uppercase character string Example Orthotropic Saint Venant Kirchhoff model As a simple example of the coding of subroutine VUANISOHYPER STRAIN consider the generalization to anisotropic hyperelasticity of the Saint Venant Kirchhoff model The strain energy function of the Saint Venant Kirchhoff model can be expressed as a quadratic function of the Green strain tensor as U e D ef where D is the fourth order elasticity tensor The derivatives of the strain energy function with respect to the Green strain are given as JU G aed D e MU BeGOeG However subroutine VUANISOHXPER STRAIN must return the derivatives of the strain energy function with respect to the modified Green strain tensor amp and the volume ratio J which can be accomplished easily using the following relationship between e f and J ef Jie J 11 where I is the second order identity tensor Thus using the chain rule we find OU 2
102. nI422 bi422 indxInv4 2 2 sInvariant k nI422 term bi422 one Udev k Udev k e2 term 2 e3 term 3 e4 term 4 e5 term 5 e6 term 6 duDi k nI422 two e2 term three e3 term 2 four e4 term 3 five e5 term 4 six e6 term 5 d2uDiDi k indx nI422 n1422 two e2 three two e3 term four three e4 term 2 five four e5 term 3 six five e6 term 4 I5 22 nI522 bi522 indxInv5 2 2 sInvariant k nI522 term bi522 one Udev k Udev k 2 term 2 3 term 3 4 term 4 5 term 5 6 term 6 duDi k nI522 two f2 term 1 2 8 10 AAAN Xxx Xxx F ox F ox Xxx F ox VUANISOHYPER_INV three f3 term 2 four f4 term 3 five 5 term 4 six f6 term 5 d2uDiDi k indx nI522 nI522 two 2 three two f3 term four three f4 term 2 five four f5 term 3 six five f6 term 4 I4 12 nI412 indxInv4 1 2 bi412 sInvariant k nI412 term zeta k 1 bi412 zeta k 1 Udev k Udev k g2 term 2 g3 term 3 g4 term 4 g5 term 5 g6 term 6 duDi k nI412 zeta k 1 two g2 term three g3 term 2 four g4 term 3 five g5 term 4 six g6 term 5 d2uDiDi k indx nI412 nI412 zeta k 1 2 two g2 three two g3 term four three g4 term 2 five four g5 term 3 six five g6 term 4 end do return end Function to map index from Square to Triangular storage of symmetric matrix
103. nProps User specified number of property values associated with this friction model nTemp 1 if the temperature is defined and 0 if the temperature is not defined nFields Number of predefined field variables jFlag 1 Step number jFlag 2 Increment number jFlag 3 1 for node to face contact 2 for edge to edge contact and 3 for node to analvtical rigid surface contact rData 1 Value of step time rData 2 Value of total time rData 3 Current increment in time from t teurr At to t teurr rData 4 This variable contains the value of the total frictional dissipation in the entire model from the beginning of the analysis The units are energy per unit area surfint User specified surface interaction name left justified surfSlv Slave surface name currently set to a blank surfMst Master surface name currently set to a blank jConslvUid nNodSlv nBlock This arrav lists the surface node numbers of the slave surface nodes associated with each contact point 1 2 6 6 VFRICTION jConMstUid nNodMst nBlockAnal This arrav lists the surface node numbers of the master surface nodes that make up the facet edge or analvtical rigid surface associated with each contact point props nProps User specified vector of propertv values to define the frictional behavior between the contacting surfaces dSlipFric nDir nBlock This array contains the incremental frictional slip during the current time i
104. niarray r array nrarray c arrav ncarray include aba param inc dimension surfacecurrent nBlock coords nBlock i_array r_array character 80 c array parameter i udsecurr kstep 1 1 1 26 1 UDSECURRENT Variable to be i udsecurr kinc 2 i udsecurr noel 3 i udsecurr currtyp 4 i udsecurr phase 5 i udsecurr proc 6 parameter ir udsecurr time 1 1 ir udsecurr time 2 2 parameter ic udsecurr surf 1 parameter i currtvp tangential 1 parameter i proc if th 1 parameter i udsecurr phase real i udsecurr phase imag 2 1 H user coding to define surfacecurrent return end defined surfacecurrent nBlock Components of the surface current density vector at a block of surface integration points The units are CL T surfacecurrent will be passed into the routine as the vector specified as part of the surface based distributed surface current density definition If the vector is not defined surfacecurrent will be passed in as zero Variables passed in for information coords nBlo ck An array containing the coordinates of a block of surface load integration points nBlock Number of surface integration points in this block Currently equal to 1 i arrav i udsecurr kstep Step number 1 1 26 2 i arrav i udsecurr kinc Increment number i arrav i udsecurr noel Element number
105. of predefined field variables 1 1 13 3 MPC 1 1 14 MPC User subroutine to define multi point constraints Product Abaqus Standard References e General multi point constraints Section 33 2 2 of the Abaqus Analysis User s Manual e MPC Overview User subroutine MPC e is called to impose a user defined multi point constraint and is intended for use when general constraints cannot be defined with one of the MPC tvpes provided bv Abaqus Standard e can use only degrees of freedom that also exist on an element somewhere in the same model methods for overcoming this limitation are discussed below e can generate linear as well as nonlinear constraints e allows definition of constraints involving finite rotations and e makes it possible to switch constraints on and off during an analysis Coding methods There are two methods for coding this routine By default the subroutine operates in a degree of freedom mode In this mode each call to this subroutine allows one individual degree of freedom to be constrained Alternatively you can specify that the subroutine operate in a nodal mode In this mode each call to this subroutine allows a set of constraints to be imposed all at once that is on multiple degrees of freedom of the dependent node In either case the routine will be called for each user subroutine defined multi point constraint or set of constraints See General multi point constraints Section 33 2
106. of slave nodes nMstNod Number of master surface nodes if the master surface is made up of facets If the master surface is an analytical rigid surface this variable is passed in as 0 nSurfDir Number of tangent directions at the contact points nSurfDir nDir 1 nDir Number of coordinate directions at the contact points In a three dimensional model nDir will be 2 if the surfaces in the contact pair are two dimensional analytical rigid surfaces or are formed by two dimensional elements nStateVar Number of user defined state variables nProps User specified number of property values associated with this surface interaction model nTemp 1 if the temperature is defined and 0 if the temperature is not defined nPred Number of predefined field variables numDefTfv Equal to nS1vNod if the master surface is made up of facets If the master surface is an analytical rigid surface this variable is passed in as 1 1 2 15 5 VUINTER jslvUid nS1vNod This arrav lists the user defined global node numbers or internal node numbers for models defined in terms of an assembly of part instances of the nodes on the slave surface jMstUid nMstNod This arrav lists the user defined global node numbers or internal node numbers for models defined in terms of an assembly of part instances of the nodes on the master surface If the master surface is an analytical rigid surface this array is passed in as a dummy array jConMstid n
107. of total time NT Number of positions through a section where temperature or field variable values are stored at a node In a mesh containing only continuum elements NT 1 For a mesh containing shell or beam elements NT is the largest ofthe values specified for the number oftemperature points in the shell or beam section definition or 2 for temperatures specified together with gradients for shells or two dimensional beams 3 for temperatures specified together with gradients for three dimensional beams NF Number of different predefined field variables requested for any node including field variables defined as initial conditions TEMP NT N An array containing the temperatures at the nodes involved in the constraint This array is not used for a heat transfer coupled temperature displacement coupled thermal electrical or coupled thermal electrical structural analysis since the temperatures are degrees of freedom of the problem FIELD NF NT N An array containing all field variables at the nodes involved in the constraint LTRAN N An integer array indicating whether the nodes in the MPC are transformed If LTRAN I 1 a transformation is applied to node I if LTRAN I 0 no transformation is applied TRAN 3 3 N An array containing the local to global transformation matrices for the nodes used in the MPC If no transformation is present at node I TRAN 1 is the identity matrix 1 1 14 13 MPC Example Nonlin
108. only regions of two surfaces that are likely to be in contact or come into contact in a given increment This likelihood is defined by a tracking thickness only portions of surfaces separated by less than the tracking thickness in a given increment are passed into the subroutine portions ofthe surfaces with a separation larger than the tracking thickness are ignored for the current increment Surface thicknesses are accounted for in the separation calculations Abaqus Explicit provides an internal default value for the tracking thickness but a nondefault value can be specified see Tracking thickness when VUINTERACTION is used in User defined interfacial constitutive behavior Section 35 1 6 ofthe Abaqus Analysis User s Manual The tracking thickness is passed into VUINTERACTION using the variable rData 4 Proximity points A proximity point is a potential point of interaction for you to consider in user subroutine VUINTERACTION Each proximity point is primarily associated with a slave node or a point along a slave edge the proximity point also references a corresponding locally nearest point on the master 1 2 16 1 VUINTERACTION surface within the tracking thickness A proximitv point exists for each pairing of slave node and proximal master surface point Therefore more than one proximitv point mav reference the same node on the slave surface but different points on the master surface if multiple local minimum distances to
109. order given in the input You must provide at all times two items of information in user subroutine MPC 1 A list of degree of freedom identifiers at the nodes that are listed in the corresponding multi point constraint definition This list corresponds to ul u u etc in the constraint as given above 2 An array of the derivatives A Of A Of A Of ul u u 1 1 14 2 MPC of the constraint function with respect to the degrees of freedom involved This arrav is needed for the redistribution of loads from degree of freedom ul to the other degrees of freedom and for the elimination of ul from the svstem matrices In addition you can provide the value of the dependent degree of freedom u as a function of the independent degrees of freedom u u etc If this value is not provided Abaqus Standard will update ul based on the linearized form of the constraint equation as X __ ii u Da Subroutine MPC should be coded and checked with care if the array of derivatives Of 0u1 etc does not correspond to the definition of ul in terms of u2 u etc forces will be transmitted improperly by the MPC and violations of equilibrium may occur In addition convergence of the solution may be adversely affected User subroutine interface SUBROUTINE MPC UE A JDOF MDOF N JTYPE X U UINIT MAXDOF LMPC KSTEP KINC TIME NT NF TEMP FIELD LTRAN TRAN INCLUDE ABA PARAM INC DIMENSION A N JDOF N X
110. point increment prepare arrays for entry into material routines do i 1 nsvint statevLocal i svars i isvinc end do state variables do kl 1 ntens stran kl statevLocal k1 stress kl zero end do do i 1 ntens do j 1 ntens ddsdde i j zero end do ddsdde i j one enddo compute characteristic element length celent dvmat sqrt djac dble ninpt djac thickness dvdvo one call material lib mech materiallib stress ddsdde stran dstran kintk dvdv0 dvmat defGrad predef loc dpredef loc npredf celent coords ip do ki 1 ntens statevLocal ki stran ki dstran k1 end do 1 1 28 18 a a UELMAT isvinc kintk 1 nsvint l integration point increment update element state variables do i 1 nsvint svars i isvinc statevLocal i end do form stiffness matrix and internal force vector dNjdx dNjdv zero do i 1 ndof nnode force i zero do j 1 ndof nnode stiff j i zero end do end do zero dvol wght kintk djac do nodj 1 nnode incr col nodj 1 ndof dNjdx bmat 1 nodj 1 ndim dNjdy bmat 2 nodj 1 ndim force p 1 dNjdx stress 1 dNjdy stress 4 force p 2 dNjdy stress 2 dNjdx stress 4 do jdof 1 ndof jeol jdof incr_col force jcol force jcol force p jdof dvol end do do nodi 1 nnode incr row nodi 1 ndof dNidx bmat 1 nodi 1 ndim 1 1 28 19 UELMAT a dNidy bmat 2 nodi 1
111. sensor name corresponds to a sensor value provided with the output database request All names will be converted to uppercase characters if lowercase or mixed case characters were used in their definition jSensorLookUpTable Variable that must be passed into the utility functions IVGETSENSORID and VGETSENSORVALUE Example Amplitude definition using sensor and state variables c user amplitude subroutine Subroutine VUAMP c passed in for information and state variables ampName time ampValueOld dt nSvars svars lFlagsinfo nSensor sensorValues sensorNames jSensorLookUpTable Cc to be defined ampValueNew 1 2 7 4 a VUAMP 1FlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral include vaba param inc svars additional state variables similar to V UEL dimension sensorValues nSensor svars nSvars character 80 sensorNames nSensor character 80 ampName time indices parameter iStepTime 1 iTotalTime 2 nTime 2 flags passed in for information parameter ilnitialization 1 iRegularInc 2 ikStep 3 nFlagsInfo 3 optional flags to be defined parameter iComputeDeriv 1 iComputeSecDeriv 2 iComputeInteg 3 iStopAnalysis 4 iConcludeStep 5 nFlagsDefine 5 parameter tStep 0 18 tAccelerateMotor 00375 omegaFinal 23 26 dimension time nTime 1FlagsInfo nFlagsInfo lFlagsDefine nFlagsDefine dimension jSensorLookUpTable
112. the natural logarithm of the shift function can be approximated by a linear function over the increment If either element of SHIFT is found to be less than or equal to zero the analysis will terminate with an error message Variable that can be updated STATEV An array containing the solution dependent state variables at this point This array will be passed in containing the values of these variables at the start of the increment unless they are updated in user subroutines USDFLD or UEXPAN in which case the updated values are passed in Ifany ofthe solution dependent state variables are being used in conjunction with the viscoelastic behavior they must be updated in this subroutine to their values at the end of the increment Variables passed in for information TEMP Temperature at the end of the increment DTEMP Increment of temperature during the time increment PREDEF An array containing the values of all of the user specified field variables at this point at the end of the increment initial values at the beginning of the analysis and current values during the analysis DPRED An array containing the increments of all of the predefined field variables during the time increment TIME 1 Value of step time at the end of the current increment TIME 2 Value of total time at the end of the current increment DTIME Time increment If this subroutine is called during a procedure such as a static analysis in which the v
113. the point DIRCOS Orientation of the face or edge in the reference configuration For three dimensional facets the first and second columns are the normalized local directions in the plane of the surface and the third column is the normal to the face For solid elements the normal points inward which is the negative of what is defined in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual for shell elements the normal definition is consistent with the convention For two dimensional facets the first column is the normalized tangent the second column is the facet normal and the third column is not used For three dimensional shell edges the first column is the tangent to the shell edge shear direction the second column is the in plane normal normal direction and the third column is the normal to the plane of the shell transverse direction JLTXP Identifies the load tvpe for which this call to UTRACLOAD is being made The load tvpe mav be an element based surface load an edge based load or a surface based load This variable identifies the element face or edge for which this call to UTRACLOAD is being made This information is useful when several different nonuniform distributed loads are being imposed on an element at the same time See Part VI Elements of the Abaqus Analysis User s Manual for element face and edge identification The load labels are shown in Table 1 1 51 1 For surface or edge based loading
114. the Abaqus Analysis User s Manual In this case the energy values returned will be used only for output purposes and are not updated permanently Variable that can be updated PNEWDT Ratio of suggested new time increment to the time increment currently being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen It is useful only during equilibrium iterations with the normal time incrementation as indicated by LFLAGS 3 1 During a severe discontinuity iteration such as contact changes PNEWDT is ignored unless CONVERT SDI YES is specified for this step The usage of PNEWDT is discussed below PNEWDT is set to a large value before each call to UELMAT 1 1 28 3 UELMAT If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard mav increase the time increment The suggested new time increment provided to the automatic time integration a
115. the beam section descriptions The number of values required NSECPT is determined bv the particular section type specified as described in Beam cross section library Section 28 3 9 of the Abaqus Analysis User s Manual Temperatures and field variables are given as values at n equally spaced points through each layer of a shell section The number of values required NSECPT is equal to n Temperatures and field variables for a beam section are given as values at the origin of the cross section together with gradients with respect to the 2 direction and for three dimensional beams the l direction of the section or temperatures and field variables for a shell section are given as values at the reference surface together with gradients with respect to the thickness The number of values required NSECPT is 3 for three dimensional beams 2 for two dimensional beams and 2 for shells Give the midsurface value first followed by the first and if necessary second gradients as described in Beam elements Section 28 3 ofthe Abaqus Analysis User s Manual and Shell elements Section 28 6 ofthe Abaqus Analysis User s Manual You can also request temperatures to be set in one of two other ways from a previously generated results file or via direct data input When array TEMP is passed into user subroutine UTEMP it will contain temperatures obtained from the results file only You can modify these values within this rou
116. the components of the modified Green strain tensor using triangular storage 07U def IEG d2uDjDj nblock Second derivatives of strain energy potential with respect to volume ratio 07U 0J d2uDeDj nblock ndir nshr Cross derivatives of strain energy potential with respect to components of the modified Green strain tensor and volume ratio 0 U de 0J stateNew nblock nstatev State variables at each material point at the end of the increment You define the size of this array by allocating space for it see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information Variables passed in for information nblock Number of material points to be processed in this call to VUANISOHYPER_STRAIN jElem nblock Arrav of element numbers kIntPt Integration point number kLayer Layer number for composite shells kSecPt Section point number within the current layer cmname User specified material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ character string To avoid conflict you should not use ABQ _ as the leading string for cmname 1 2 9 5 VUANISOHVPER STRAIN ndir Number of direct components in a symmetric tensor nshr Number of indirect components in a symmetric tensor nstatev Number of user defined state variables that are associated with this material t
117. the data lines dt The time increment timeTotal The total time at the beginning of the increment over all steps timeStep The step time at the beginning of the increment within the step 1 2 21 6 2 Utilitv Routines e Utility routines Section 2 1 UTILITY ROUTINES UTILITV ROUTINES 2 1 Utilitv routines e Obtaining Abaqus environment variables Section 2 1 1 e Obtaining the Abaqus job name Section 2 1 2 e Obtaining the Abaqus output directory name Section 2 1 3 e Obtaining parallel processes information Section 2 1 4 e Obtaining part information Section 2 1 5 e Obtaining material point information in an Abaqus Standard analysis Section 2 1 6 e Obtaining material point information in an Abaqus Explicit analysis Section 2 1 7 e Obtaining material point information averaged at a node Section 2 1 8 e Obtaining node point information Section 2 1 9 e Obtaining node to element connectivity Section 2 1 10 e Obtaining stress invariants principal stress strain values and directions and rotating tensors in an Abaqus Standard analysis Section 2 1 11 e Obtaining principal stress strain values and directions in an Abaqus Explicit analysis Section 2 1 12 e Obtaining wave kinematic data in an Abaqus Aqua analysis Section 2 1 13 e Printing messages to the message or status file Section 2 1 14 e Terminating an analysis
118. the step began totalTime dt Value of total time The time at the beginning of the step is given by totalTime stepTime Time increment size 1 2 3 5 VFABRIC cmname User specified material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the character string ABQ_ To avoid conflict you should not use ABQ as the leading string for cmname coordMp nblock Material point coordinates It is the midplane material point for shell elements and the centroid for beam elements charLength nblock Characteristic element length This is a typical length of a line across an element for a first order element it is half of the same typical length for a second order element For membranes and shells it is a characteristic length in the reference surface props nprops User supplied material properties density nblock Current density at the material points in the midstep configuration This value may be inaccurate in problems where the volumetric strain increment is very small If an accurate value of the density is required in such cases the analysis should be run in double precision This value of the density is not affected by mass scaling braidAngle nblock Angle in radians between the two yarn directions at the end of the increment fabricStrain nblock ndirStrain nshr Total nominal strain in the fabric at the end of increme
119. the thermal strains computed based upon the thermal expansion coefficient have been subtracted from the total strains These strains are available for output as the elastic strains In finite strain problems the strain components have been rotated to account for rigid bodv motion in the increment before UMAT is called and are approximations to logarithmic strain DSTRAN NTENS Array of strain increments If thermal expansion is included in the same material definition these are the mechanical strain increments the total strain increments minus the thermal strain increments 1 1 40 7 UMAT TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment TEMP Temperature at the start of the increment DTEMP Increment of temperature PREDEF Array of interpolated values of predefined field variables at this point at the start of the increment based on the values read in at the nodes DPRED Arrav of increments of predefined field variables CMNAME User defined material name left justified Some internal material models are given names starting with the ABQ character string To avoid conflict you should not use ABQ as the leading string for CMNAME NDI Number of direct stress components at this point NSHR Number of engineering shear stress components at this point NTENS Size ofthe stress or strain
120. this point In an uncoupled heat transfer analysis STATEV is passed into subroutine HETVAL as the values of these variables at the beginning of the increment However any updating of STATEV in user subroutine USDFLD will be included in the values passed into subroutine HETVAL since this routine is called before HETVAL In addition if HETVAL is being used in a fully coupled temperature displacement or coupled thermal electrical structural analysis and user subroutine UEXPAN user subroutine CREEP user subroutine UMAT or user subroutine UTRS is used to define the mechanical behavior of the material those routines are called before this routine therefore any updating of STATEV done in UEXPAN CREEP UMAT or UTRS will be included in the values passed into this routine In all cases STATEV should be passed back from user subroutine HETVAL containing the values of the state variables at the end of the current increment Variables passed in for information CMNAME User specified material name left justified TEMP 1 Current temperature TEMP 2 Temperature increment 1 1 13 2 HETVAL TIME 1 Step time at the end of the increment TIME 2 Total time at the end of the increment DTIME Time increment PREDEF An array containing the values of all of the user specified field variables at this point initial values at the beginning of the analysis and current values during the analysis DPRED Array of increments
121. this user defined hyperelastic material PROPS Array of material properties entered for this user defined hyperelastic material 1 1 21 5 UANISOHVPER STRAIN EBAR NTENS AJ Modified Green strain tensor at the material point at the end of the increment p J determinant of deformation gradient volume ratio at the end of the increment Example Orthotropic Saint Venant Kirchhoff model As a simple example of the coding of user subroutine UANISOHYPER STRAIN consider the generalization to anisotropic hyperelasticity of the Saint Venant Kirchhoff model The strain energy function of the Saint Venant Kirchhoff model can be expressed as a quadratic function of the Green strain tensor ee as where D is the fourth order elasticity tensor The derivatives of the strain energy function with respect to the Green strain are given as U _G za Pe i U elel D However user subroutine UANISOHYPER STRAIN must return the derivatives of the strain energy function with respect to the modified Green strain tensor 2 and the volume ratio J which can be accomplished easily using the following relationship between e amp and J ef Jie 95 1JI where I is the second order identity tensor Thus using the chain rule we find OF age dee eG JU de BU T OJ BeS PU ji RU alae Oe FOES PU Oe OU z det DU del J OJ e J Bel0elS OT 1 1 21 6 where and In this exampl
122. time See Part VI Elements of the Abaqus Analysis User s Manual for identification of the element faces The kev is as follows 1 1 7 2 JLTXP 61 62 63 64 65 66 SNAME FLOW Flow tvpe Surface based flow QINU Q2NU Q3NU Q4NU Q5NU Q6NU Surface name for which this call to FLOW is being made for a surface based flow JLTYP 0 For an element based flow the surface name is passed in as a blank 1 1 7 3 FRIC 1 1 8 FRIC User subroutine to define frictional behavior for contact surfaces Product Abaqus Standard References e Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual e FRICTION e Thermal stress analysis of a disc brake Section 5 1 1 of the Abaqus Example Problems Manual e FRIC Section 4 1 4 of the Abaqus Verification Manual Overview User subroutine FRIC e can be used to define the frictional behavior between contacting surfaces e can be used when the extended versions of the classical Coulomb friction model provided in Abaqus are too restrictive and a more complex definition of shear transmission between contacting surfaces is required e will be called at points on the slave surface of a contact pair and at the integration points in a contact element only when the contact point is closed for which the contact interaction property model contains user subroutine defined friction e must provide the entire definition of shear in
123. to be defined only for a fully coupled thermal electrical structural analysis Variables passed in for information D 1 Separation between the interface surfaces d D 2 Pressure transmitted across the surfaces p TEMP 2 Current temperature at points A and B PREDEF 2 NPRED An atray containing pairs of values of all of the user specified field variables at the end of the current increment at points A and B initial values at the beginning of the analysis and current values during the analysis TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment 11412 GAPELECTR CINAME User specified surface interaction name left justified SLNAME Slave surface name MSNAME Master surface name COORDS An array containing the current coordinates of points A and B COORDS 1 K1 are the coordinates at point A and COORDS 2 K1 are the coordinates at point B NODE Slave node number point A NPRED Number of predefined field variables KSTEP Step number KINC Increment number 1 1 11 3 1 1 12 HARDINI HARDINI User subroutine to define initial equivalent plastic strain and initial backstress tensor Product Abaqus Standard References Initial conditions in Abaqus Standard and Abaqus Explicit Section 32 2 1 of the Abaqus Analysis User s Manual Classical metal plasticity Section 22 2 1 ofthe Abaqus Analysis User s
124. value corresponds to the nearest point on the master surface If FRIC is called from a large sliding contact element PREDEF 1 NPRED corresponds to the value at the integration point of the element and PFREDEF 2 NPRED corresponds to the nearest point on the opposing surface If FRIC is called from a small sliding contact element PREDEF 1 NPRED corresponds to the value at the integration point of the first side and PFREDEF 2 NPRED corresponds to the value at the integration point on the opposite face of the element NFDIR MCRD Number of friction directions Number of coordinate directions at the contact point NPRED Number of predefined field variables 1 1 8 6 FRIC NSTATV Number of user defined state variables CHRLNGTH Characteristic contact surface face dimension which can be used to define the maximum allowable elastic slip PROPS NPROPS Array of user specified property values that are used to define the frictional behavior between the contacting surfaces NPROPS User specified number of property values associated with this friction model 1 1 8 7 FRIC COEF 1 1 9 FRIC COEF User subroutine to define the frictional coefficient for contact surfaces Product Abaqus Standard References e Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual e FRICTION e FRIC_COEF Section 4 1 5 of the Abaqus Verification Manual Overview User subroutine FRIC COEF e can
125. values associated with this interaction model nTemp 1 if the temperature is defined and 0 if the temperature is not defined nFields Number of predefined field variables jFlag 1 Step number jFlag 2 Increment number jFlag 3 1 for node to face contact 2 for edge to edge contact and 3 for node to analytical rigid surface contact rData 1 Value of step time rData 2 Value of total time rData 3 Current increment in time from t teurr At to t teurr rData 4 This variable contains the value of the tracking thickness specified for the surface interaction surfint User specified surface interaction name left justified surfSlv Slave surface name currently set to a blank surfMst Master surface name currentiv set to a blank 1 2 16 7 VUINTERACTION jslvUid nNodSlv nBlock This array lists the surface node numbers of the slave surface nodes associated with each proximitv point jMstUid nNodMst nBlockAnal This arrav lists the surface node numbers of the master surface nodes that make up the facet edge or analvtical rigid surface associated with each proximitv point props nProps User specified vector of propertv values to define the interaction between the tracking surfaces penetration nBlock The relative position of the proximitv points with respect to the master surface in the normal direction a positive value indicates a penetration and a negative value indicates a gap during the current tim
126. 1 3 1 5 JDOF 1 2 6 JDOF 1 3 4 6 and 100 0 cos P A 1 3 1 3 1 0 1 0 4 1 3 1 2 0 4 amp 1 3 1 3 ne 001 0 Since degrees of freedom 4 z 5 and 6 appear in this constraint there must be an element in the mesh that uses these degrees of freedom a B31 beam element for example The MPC subroutine has been coded with just this information In this case Abaqus Standard updates the dependent rotation field p based on the linearized constraint equations Although the constraint is not satisfied exactly good results are obtained as long as the rotation increments are kept small enough A more rigorous derivation of the linearized constraint and the exact nonlinear recovery of the dependent degrees of freedom is presented in Rotation variables Section 1 3 1 of the Abaqus Theory Manual If the above multi point constraint is defined as type 1 with nodes a b and c user subroutine MPC could be coded as follows SUBROUTINE MPC UE A JDOF MDOF N JTYPE X U UINIT MAXDOF LMPC KSTEP KINC TIME NT NF TEMP FIELD LTRAN TRAN INCLUDE ABA PARAM INC DIMENSION UE MDOF A MDOF MDOF N JDOF MDOF N X 6 N U MAXDOF N UINIT MAXDOF N TIME 2 TEMP NT N 1 1 14 17 MPC FIELD NF NT N LTRAN N TRAN 3 3 N c IF JTYPE EQ 1 THEN A 1 1 1 1 A 2 2 1 1 A 3 3 1 1 A 3 1 2 1 A 1 1 3 COS U 6 2 A 2 1 3 SIN U 6 2 c JDOF 1 1 4 JDOF 2 1 5
127. 1 41 4 UMATHT NPROPS User defined number of material constants associated with this user material COORDS An array containing the coordinates of this point These are the current coordinates in a fully coupled temperature displacement or coupled thermal electrical structural analvsis if geometric nonlinearitv is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point NOEL Element number NPT Integration point number LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer KSTEP Step number KINC Increment number Example Using more than one user defined thermal material model To use more than one user defined thermal material model the variable CMNAME can be tested for different material names inside user subroutine UMATHT as illustrated below IF CMNAME 1 4 EQ MAT1 THEN CALL UMATHT MAT1 argument list ELSE IF CMNAME 1 4 EQ MAT2 THEN CALL UMATHT MAT2 argument list END IF UMATHT MAT1 and UMATHT MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2 respectively Subroutine UMATHT merely acts as a directory here The argument list can be the same as that used in subroutine UMATHT Example Uncoupled heat transfer As asimple example of the c
128. 2 3 of the Abaqus Analysis User s Manual or Defining rebar as an element property Section 2 2 4 of the Abaqus Analysis User s Manual If no name was given in the rebar or rebar layer definition this variable will be blank This variable is relevant only when LREBAR 1 NAMES 2 Element type name see Section EI 1 Abaqus Standard Element Index of the Abaqus Analysis User s Manual 1 1 18 3 UAMP 1 1 19 UAMP User subroutine to specify amplitudes Product Abaqus Standard References e Amplitude curves Section 32 1 2 of the Abaqus Analysis User s Manual e AMPLITUDE e xOUTPUT Overview User subroutine UAMP e allows you to define the current value of an amplitude definition as a function of time e can be used to model control engineering aspects of your system when sensors are used sensor values are from the beginning of the increment e can use a predefined number of state variables in their definition and e can optionally compute the derivatives and integrals of the amplitude function Explicit solution dependence The solution dependence introduced in this user subroutine is explicit all data passed in the subroutine for information or to be updated are values at the beginning of that increment User subroutine interface SUBROUTINE UAMP ampName time ampValueOld dt nSvars svars lFlagsinfo nSensor sensorValues sensorNames jSensorLookUpTable AmpValueNew
129. 2 D as 21 tempOld nblock Temperatures at each material point at the beginning of the increment 1 2 17 7 VUMAT stretchold nblock ndir nshr Stretch tensor U at each material point at the beginning of the increment defined from the polar decomposition of the deformation gradient by F R U defgradold nblock ndir 2 nshr Deformation gradient tensor at each material point at the beginning of the increment Stored in 3 D as Fii F22 F33 Pia F23 F31 F21 F32 Fis and in 2 D as F11 F22 F33 Pio F21 fieldold nblock nfieldv Values of the user defined field variables at each material point at the beginning of the increment stressold nblock ndir nshr Stress tensor at each material point at the beginning of the increment stateOld nblock nstatev State variables at each material point at the beginning of the increment enerInternOld nblock Internal energy per unit mass at each material point at the beginning of the increment enerInelasOld nblock Dissipated inelastic energy per unit mass at each material point at the beginning of the increment tempNew nblock Temperatures at each material point at the end of the increment stretchNew nblock ndir nshr Stretch tensor U at each material point at the end of the increment defined from the polar decomposition of the deformation gradient by F R U defgradNew nblock ndir 2 nshr Deformation gradient tensor at each material point at the end of t
130. 2 of the Abaqus Analysis User s Manual for details Constraints that involve rotational degrees of freedom In geometrically nonlinear analyses Abaqus Standard compounds three dimensional rotations based on a finite rotation formulation and not by simple addition of the individual rotation components see Conventions Section 1 2 2 of the Abaqus Analysis User s Manual and Rotation variables Section 1 3 1 of the Abaqus Theory Manual An incremental rotation involving one component usually results in changes in all three total rotation components Therefore any general constraint that involves large three dimensional rotations should be implemented using the nodal mode of user subroutine MPC The single degree of freedom version of user subroutine MPC can be used for geometrically linear problems geometrically nonlinear problems with planar rotations and constraints that do not involve rotation components 1 1 14 1 MPC Constraints that involve degrees of freedom that are not active in the model The degrees of freedom involved in user MPCs must appear on some element or Abaqus Standard MPC type in the model user MPCs cannot use degrees of freedom that have not been introduced somewhere on an element For example a mesh that uses only continuum solid elements cannot have user MPCs that involve rotational degrees of freedom The simplest way to overcome this limitation is to introduce an element somewhere in the model that u
131. 233 props 5 D3333 props 6 D1212 props 7 D1313 props 8 D2323 props 9 do k 1 nblock d2UdE11dE11 D1111 d2UdE11dE22 D1122 d2UdE11dE33 D1133 d2UdE22dE11 d2UdE11dE22 d2UdE22dE22 D2222 d2UdE22dE33 D2233 d2UdE33dE11 d2UdE11dE33 d2UdE33dE22 d2UdE2 2dE33 d2UdE33dE33 D3333 d2UdE12dE12 D1212 d2UdE13dE13 D1313 d2UdE23dE23 D2323 xpow exp log detu k twothds detuInv one detu k 1 2 9 9 VUANISOHVPER STRAIN Ell xpow E22 xpow E33 xpow El2 xpow E23 xpow E13 xpow ebar k 1 half xpow one ebar k 2 half xpow one ebar k 3 half xpow one ebar k 4 ebar k 5 ebar k 6 F HF od detulnv half half half terml twothds xpow dEllDj terml E11 dE22Dj terml E22 dE33Dj terml E33 dEl2Dj terml El2 dE13Dj terml E13 dE23Dj terml E23 term2 third detulnv d2E11DjDj term2 dE11Dj d2E22DjDj term2 dE22Dj d2E33DjDj term2 dE33Dj d2E12DjDj term2 dE12Dj d2E13DjDj term2 dE13Dj d2E23DjDj term2 dE23Dj F HF F FF kg ox dUdE11 d2UdE11dE11 E11 d2UdE11dE22 E22 d2UdE11dE33 E33 d2UdE22dE11 E11 d2UdE22dE22 E22 d2UdE22dE33 E33 d2UdE33dE11 E11 d2UdE33dE22 E22 d2UdE33dE33 E33 dUdE12 two d2UdE12dE12 E12 dUdE13 two d2UdE13dE13 E13 dUdE23 two d2UdE23dE23 E23 dUdE22 dUdE33 I Il U half E11 dUdE11 E22 dUdE22 E33 dUdE3
132. 3 E12 dUdE12 E13 dUdE13 E23 dUdE23 uDev k U duDe k 1 xpow dUdE11 duDe k 2 xpow dUdE22 duDe k 3 xpow dUdE33 1 2 9 10 C C Only update nonzero components F F F F HF HF F duDe k 4 xpow dUdE12 duDe k 5 xpow dUdE23 duDe k 6 xpow dUdE13 xpow2 xpow xpow d2uDeDe k indx 1 1 d2uDeDe k indx 1 2 d2uDeDe k indx 2 2 d2uDeDe k indx 1 3 d2uDeDe k indx 2 3 d2uDeDe k indx 3 3 d2uDeDe k indx 4 4 d2uDeDe k indx 5 5 d2uDeDe k indx 6 6 xpow2 xpow2 xpow2 xpow2 xpow2 xpow2 xpow2 xpow2 xpow2 FF FF F F HF ox VUANISOHYPER_STRAIN d2UdE11dE11 d2UdE11dE22 d2UdE22dE22 d2UdE11dE33 d2UdE22dE33 d2UdE33dE33 d2UdE12dE12 d2UdE23dE23 d2UdE13dE13 duDj k dUdE11 dE11Dj dUdE22 dE22Dj dUdE22 dE22Dj dUdE12 dE12Dj dUdE13 dE13Dj dUdE23 dE23Dj d2uDjDj k dUdE11 d2E11DjDj dUdE22 d2E22D4D4 dUdE22 d2E22DjDj two dUdE12 d2E12DjDj dUdE13 d2E13DjDj dUdE23 d2E23DjDj two d2UdE11dE11 dE11Dj dE11Dj d2UdE22dE22 dE22Dj dE22Dj d2UdE33dE33 dE33Dj dE33Dj two d2UdE11dE22 dE11Dj dE22Dj d2UdE11dE33 dE11Dj dE33Dj d2UdE22dE33 dE22Dj dE33Dj four d2UdE12dE12 dE12Dj dE12Dj d2UdE13dE13 dE13Dj dE13Dj d2UdE23dE23 dE23Dj dE23Dj d2uDeDj k 1 d2uDeDj k 2 d2uDeDj k 3 termi dUdEll xpow d2UdE11dE11 dE11D
133. 3 six five g6 term 4 t F xXx tt Add volumetric energy term aInv 3 one ua 1 ua 2 dInv term term return end Maps index from Square to Triangular storage of symmetric matrix integer function indx i j include aba param inc ii ji min i j max i j indx ii jj jj 1 2 1 1 20 10 UANISOHVPER INV return end Generate enumeration of Anisotropic Pseudo Invariants of type 4 integer function indxInv4 i j include aba param inc ii ji min i j max i j indxInv4 4 jj jj 1 2 ii 1 return end Generate enumeration of Anisotropic Pseudo Invariants of type 5 integer function indxInv5 i j include aba param inc ii jj min i j max i j indxInv5 5 jj jj 1 2 ii 1 return end Additional reference e Kaliske M and J Schmidt Formulation of Finite Nonlinear Anisotropic Elasticity CADFEM GmbH Infoplaner 2 2005 vol 2 pp 22 23 2005 1 1 20 11 UANISOHVPER STRAIN 1 1 21 UANISOHVPER STRAIN User subroutine to define anisotropic hvperelastic material behavior based on Green strain Product Abaqus Standard References e Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e xANISOTROPIC HYPERELASTIC e UANISOHYPER INV and VUANISOHXPER INV Section 4 1 13 of the Abaqus Verification Manual Overview User subroutine UANISOHYPER_ STRA
134. 3 P3NU 24 P4NU 25 PS5NU 26 P6NU 27 PINU 28 PENU 41 PXNU 42 PYNU 43 PZNU 1 1 5 3 DLOAD SNAME Surface name for a surface based load definition JLTYP 0 For a body force or an element based surface load the surface name is passed in as blank 1 1 5 4 FILM 1 1 6 FILM User subroutine to define nonuniform film coefficient and associated sink temperatures for heat transfer analvsis Product Abaqus Standard References e Thermal loads Section 32 4 4 of the Abaqus Analvsis User s Manual e xCFILM e xFILM e xSFILM e Temperature dependent film condition Section 1 3 41 of the Abaqus Verification Manual Overview User subroutine FILM e can be used to define a node based element based or surface based nonuniform film coefficient e can be used to define sink temperatures as functions of position time temperature node number element number integration point number etc e will be called during procedures that allow heat transfer analysis at each node or surface integration point of those surfaces and elements for which node based element based or surface based nonuniform film conditions are defined e ignores any amplitude references for the sink temperature or film coefficient that may appear with the associated nonuniform film definition and e uses the nodes for first order heat transfer elements as surface integration points for both element based and surface based films User subroutine i
135. 6 1 1 of the Abaqus Analysis User s Manual e Eigenvalue buckling prediction Section 6 2 3 of the Abaqus Analysis User s Manual e Natural frequency extraction Section 6 3 5 of the Abaqus Analysis User s Manual e Transient modal dynamic analysis Section 6 3 7 of the Abaqus Analysis User s Manual e Mode based steady state dynamic analysis Section 6 3 8 of the Abaqus Analysis User s Manual e Direct solution steady state dynamic analysis Section 6 3 4 of the Abaqus Analysis User s Manual e Subspace based steady state dynamic analysis Section 6 3 9 of the Abaqus Analysis User s Manual e Response spectrum analysis Section 6 3 10 of the Abaqus Analysis User s Manual and e Random response analysis Section 6 3 11 of the Abaqus Analysis User s Manual The following output variable keys are not available for use with GETVRM e SVOL e TSHR e CTSHR e COORD 2 1 6 4 MATERIAL POINT INFORMATION 2 1 7 OBTAINING MATERIAL POINT INFORMATION IN AN Abaqus Explicit ANALVSIS Product Abaqus Explicit References e VUSDFLD Section 1 2 18 e Damage and failure of a laminated composite plate Section 1 1 14 of the Abaqus Example Problems Manual Overview Utility routine VGETVRM can be called from VUSDFLD to access selected output variables at the material points for the current block of elements being processed by VUSDFLD Interface include vaba param inc
136. 6 N U MAXDOF N UINIT MAXDOF N TIME 2 TEMP NT N FIELD NF NT N LTRAN N TRAN 3 3 N user coding to define UE A JDOF and optionally LMPC RETURN END Variables to be defined An array containing the derivatives of the constraint function _ Of _ f Bul 2 mis The coding in the subroutine must define N entries in A where N is defined below A 1 1 1 14 3 MPC JDOF N An arrav containing the degree of freedom identifiers at the nodes that are involved in the constraint For example if u is the zdisplacement at a node give JDOF 1 3 if u is the z displacement at a node give JDOF 2 1 The coding in the subroutine must define N entries in JDOF where N is defined below Variables that can be updated UE This variable is passed in as the total value of the eliminated degree of freedom u This variable will either be zero or have the current value of u based on the linearized constraint equation depending at which stage ofthe iteration the user subroutine is called If the constraint is linear and is used in a small displacement analysis nonlinear geometric effects are not considered or in a perturbation analysis this variable need not be defined Abaqus Standard will compute u as ret 12 ii gt If the constraint is nonlinear this variable should be updated to the value of u at the end of the increment to satisfy the constraint exactly If the return value is th
137. A 2 APPENDIX A INDEX User subroutine functions listing The following tables describe the function of each available user subroutine Name CREEP DFLOW DFLUX DISP DLOAD FILM FLOW FRIC FRIC COEF GAPCON GAPELECTR HARDINI HETVAL MPC ORIENT RSURFU SDVINI SIGINI UAMP UANISOHYPER INV Abaqus Standard User Subroutines Function User subroutine to define time dependent viscoplastic behavior creep and swelling User subroutine to define nonuniform pore fluid velocity in a consolidation analysis User subroutine to define nonuniform distributed flux in a heat transfer or mass diffusion analysis User subroutine to specify prescribed boundary conditions User subroutine to specify nonuniform distributed loads User subroutine to define nonuniform film coefficient and associated sink temperatures for heat transfer analysis User subroutine to define nonuniform seepage coefficient and associated sink pore pressure for consolidation analysis User subroutine to define frictional behavior for contact surfaces User subroutine to define the frictional coefficient for contact surfaces User subroutine to define conductance between contact surfaces or nodes in a fully coupled temperature displacement analysis coupled thermal electrical structural analysis or pure heat transfer analysis User subroutine to define electrical conductance between surfaces in a coupled thermal electrical or a coupled thermal electric
138. ALS dvmat Volume at the integration point dfgrd Array containing the deformation gradient at the end of the increment predef Array of interpolated values of predefined field variables at the integration point at the start of the increment dpredef Array of increments of predefined field variables npredf Number of predefined field variables including temperature celent Characteristic element length coords An array containing the coordinates of this point These are the current coordinates if geometric nonlinearities are accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point Variables returned from the utility routine stress Stress tensor at the end of the increment ddsdde Jacobian matrix of the constitutive model 9Aor Ae where Aq are the stress increments and Ae are the strain increments ddsdde i j defines the change in the ith stress component at the end of the time increment caused by an infinitesimal perturbation of the jth component of the strain increment array 2 1 17 2 ACCESSING Abaqus THERMAL MATERIALS 2 1 18 ACCESSING Abaqus THERMAL MATERIALS Product Abaqus Standard References e UELMAT Section 1 1 28 e UELMAT Section 4 1 15 of the Abaqus Verification Manual Overview Utility routine MATERIAL LIB HT can be called only from Abaqus Standard u
139. AT plasticitv In the former case total form constitutive equations relating the Cauchv stress to the deformation gradient are commonly used in the latter case rate form constitutive laws are generally used For total form constitutive laws the exact consistent Jacobian C is defined through the variation in Kirchhoff stress 6 Jo J C 6D 66W o o 6W Here Jis the determinant of the deformation gradient is the Cauchy stress 6D is the virtual rate of deformation and W is the virtual spin tensor defined as 6D sym 6F F and EW asym 6F F71 For rate form constitutive laws the exact consistent Jacobian is given by _ 10A Jo J Oke Use with incompressible elastic materials For user defined incompressible elastic materials user subroutine UHYPER should be used rather than user subroutine UMAT In UMAT incompressible materials must be modeled via a penalty method that is you must ensure that a finite bulk modulus is used The bulk modulus should be large enough to model incompressibility sufficiently but small enough to avoid loss of precision As a general guideline the bulk modulus should be about 10 10 times the shear modulus The tangent bulk modulus K can be calculated from 3 3 373 DDSDDE I J I 1 J 1 O If a hybrid element is used with user subroutine UMAT Abaqus Standard will replace the pressure stress calculated from your definition of STRESS with that derived from the Lagr
140. AVGATNODE are nearly the same as those available from GETVRM the exceptions follow from the restriction that since it will average results GETVRMAVGATNODE will operate only on real valued results Results values represented as integers or as flags are not available Interface DIMENSION ARRAY 15 JELEMLIST NELEMS CALL GETVRMAVGATNODE NODE JTYP VAR ARRAY JRCD JELEMLIST NELEMS JMATYP JGVBLOCK Variables to be provided to the utility routine NODE Node number JTYP An integer flag indicating how the material point information is averaged Set JTXP 0 to extrapolate results using element shape functions and to average results at the node Set JTXP I to perform a volume weighted average of results VAR Output variable key from the table in Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analysis User s Manual The applicable keys are listed in the output table as being available for results file output at the element integration points e g S for stress One exception is the integration point coordinates variable COORD which cannot be passed into the utility routine you should use utility routine GETVRN instead to obtain nodal coordinates 2 1 8 1 MATERIAL POINT INFORMATION AT A NODE JELEMLIST Arrav of element numbers for elements connected to NODE for which vou want material point quantities considered in the average result Results from each element in the list that contain the nod
141. BQ_ should not be used as the leading string for cmname nstatev Number of user defined state variables that are associated with this material type see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined material properties tempOld nblock Temperatures at the material points at the beginning of the increment tempNew nblock Temperatures at the material points at the end of the increment fieldold nblock nfieldv Values of the user defined field variables at the material points at the beginning of the increment fieldNew nblock nfieldv Values of the user defined field variables at the material points at the end of the increment stateOld nblock nstatev State variables at the material points at the beginning of the increment shrRate nblock Equivalent shear strain rate y at the material points Example Cross viscosity model As a simple example of the coding of subroutine VUVISCOSITY consider the Cross viscosity model The Cross model is commonly used when it is necessary to describe the low shear rate behavior of the viscosity The viscosity is expressed as u To T 1 09 1 2 20 3 VUVISCOSITV where no is the Newtonian viscosity n is the flow index in the power law regime and X is a constant with units of time such that 1 A corresponds to the
142. CONWEP blast loading Section 9 1 8 of the Abaqus Example Problems Manual Overview User subroutine VDLOAD can be used to define the variation of the distributed load magnitude as a function of position time velocity etc for a group of points each of which appears in an element based or surface based nonuniform load definition will be called for load integration points associated with each nonuniform load definition including PENU and PINU loads applicable for pipe elements does not make available the current value of the nonuniform distributed loads for file output purposes and recognizes an amplitude reference Amplitude curves Section 32 1 2 of the Abaqus Analysis User s Manual if it appears with the associated nonuniform load definition User subroutine interface c c c c subroutine vdload Read only unmodifiable variables 1 nblock ndim stepTime totalTime 2 amplitude curCoords velocity dirCos jltyp sname Write only modifiable variable 1 value include vaba param inc dimension curCoords nblock ndim velocitv nblock ndim 1 dirCos nblock ndim ndim value nblock character 80 sname 1 2 2 1 VDLOAD do 100 km 1 nblock user coding to define value 100 continue return end Variable to be defined value nblock Magnitude of the distributed load Units are FL for surface loads FL for body forces Variables passed in for information nblock Numb
143. D 1 HALF ALPHA SVARS 1 SVARS 7 RHS 4 1 RHS 4 1 AM A 4 ONE ALPHA SRESID 4 HALF ALPHA SVARS 4 SVARS 10 ELSE IF LFLAGS 3 EQ 6 THEN Initial acceleration calculation DO K1 1 NDOFEL AMATRX K1 K1 AM END DO FORCE AK U 4 U 1 SRESID 1 FORCE SRESID 4 FORCE RHS 1 1 RHS 1 1 SRESID 1 1 1 27 17 veL RHS 4 1 RHS 4 1 SRESID 4 ENERGY 1 ZERO DO K1 1 NDOFEL SVARS K1 SRESID K1 ENERGY 1 ENERGY 1 HALF V K1 AM V K1 END DO ENERGY 2 HALF FORCE U 4 U 1 ELSE IF LFLAGS 3 EQ 100 THEN Output for perturbations IF LFLAGS 1 EQ 1 OR LFLAGS 1 EQ 2 THEN STATIC FORCE AK U 4 U 1 DFORCE AK DU 4 1 DU 1 1 SRESID 1 DFORCE SRESID 4 DFORCE RHS 1 1 RHS 1 1 SRESID 1 RHS 4 1 RHS 4 1 SRESID 4 ENERGY 2 HALF FORCE DU 4 1 DU 1 1 HALF DFORCE U 4 U 1 HALF DFORCE DU 4 1 DU 1 1 DO KVAR 1 NSVARS SVARS KVAR ZERO END DO SVARS 1 RHS 1 1 SVARS 4 RHS 4 1 ELSE IF LFLAGS 1 EQ 41 THEN FREQUENCY DO KRHS 1 NRHS DFORCE AK DU 4 KRHS DU 1 KRHS SRESID 1 DFORCE SRESID 4 DFORCE RHS 1 KRHS RHS 1 KRHS SRESID 1 RHS 4 KRHS RHS 4 KRHS SRESID 4 END DO DO KVAR 1 NSVARS SVARS KVAR ZERO END DO SVARS 1 RHS 1 1 SVARS 4 RHS 4 1 END IF END IF 1 1 27 18 RETURN END 1 1 27 19 UEL 1 1 28 UELMAT UELMAT User subroutin
144. D User subroutine to define the vield surface size and hardening parameters for isotropic plasticitv or combined hardening models Product Abaqus Standard References e Classical metal plasticity Section 22 2 1 of the Abaqus Analysis User s Manual e Models for metals subjected to cyclic loading Section 22 2 2 of the Abaqus Analysis User s Manual e xCVCLIC HARDENING e xPLASTIC Overview User subroutine UHARD e is called at all material calculation points of elements for which the material definition includes user defined isotropic hardening or cyclic hardening for metal plasticitv e can be used to define a material s isotropic yield behavior e can be used to define the size of the yield surface in a combined hardening model e can include material behavior dependent on field variables or state variables and e requires when appropriate that the values of the derivatives of the yield stress or yield surface size in combined hardening models be defined with respect to the strain strain rate and temperature User subroutine interface SUBROUTINE UHARD SYIELD HARD EQPLAS EQPLASRT TIME DTIME TEMP 1 DTEMP NOEL NPT LAYER KSPT KSTEP KINC CMNAME NSTATV 2 STATEV NUMFIELDV PREDEF DPRED NUMPROPS PROPS c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME DIMENSION HARD 3 STATEV NSTATV TIME PREDEF NUMFIELDV DPRED PROPS user coding to define SYIELD HARD 1 HARD 2
145. E22 dE22Dj d2UdE33dE33 dE33Dj two d2UdE11dE22 d2UdE11dE33 d2UdE22dE33 four d2UdE12dE12 d2UdE13dE13 dE13Dj d2UdE23dE23 dE23Dj return end Xxx o ox dE22Dj dE33Dj dE11Dj dE11Dj dE22Dj dE12Dj dE13Dj dE23Dj Xxx UANISOHVPER STRAIN AE22Dj dE33Dj dE33Dj dE12Dj Maps index from Square to Triangular storage of symmetric matrix integer function indx i j include aba param inc ii jj indx min i j max i j ii jj jj 1 2 return end 1 1 21 11 UCORR 1 1 22 UCORR User subroutine to define cross correlation properties for random response loading Product Abaqus Standard References e Random response analysis Section 6 3 11 of the Abaqus Analysis User s Manual e CORRELATION e Random response to jet noise excitation Section 1 4 10 of the Abaqus Benchmarks Manual Overview User subroutine UCORR e can be used to define the coefficients for the cross correlation matrix in a random response analysis e will be called once for the combination of any two degrees of freedom with nonzero prescribed loads for each load case specified as a concentrated or distributed load or once for the combination of any two excitation directions specified as a base motion e allows correlation coefficients to be defined as a function of nodal coordinates and e ignores any data specified outside the user subroutine for th
146. EV TEMP DTEMP DTEMDX TIME DTIME PREDEF DPRED 2 CMNAME NTGRD NSTATV PROPS NPROPS COORDS PNEWDT 3 NOEL NPT LAYER KSPT KSTEP KINC C INCLUDE ABA PARAM INC C CHARACTER 80 CMNAME DIMENSION DUDG NTGRD FLUX NTGRD DFDT NTGRD 1 DFDG NTGRD NTGRD STATEV NSTATV DTEMDX NTGRD 2 TIME 2 PREDEF 1 DPRED 1 PROPS NPROPS COORDS 3 c COND PROPS 1 SPECHT PROPS 2 c DUDT SPECHT DU DUDT DTEMP U U DU c DO I 1 NTGRD FLUX I COND DTEMDX I DFDG I I COND END DO c RETURN END 1 1 41 8 UMESHMOTION 1 1 42 UMESHMOTION User subroutine to specify mesh motion constraints during adaptive meshing Product Abaqus Standard References e Defining ALE adaptive mesh domains in Abaqus Standard Section 12 2 6 ofthe Abaqus Analysis User s Manual e xADAPTIVE MESH e ADAPTIVE MESH CONSTRAINT Overview User subroutine UMESHMOTION e is called at the end of any increment where adaptive meshing is performed as specified by the FREQUENCY parameter on the ADAPTIVE MESH option e can be used to define the motion of nodes in an adaptive mesh constraint node set and e can call utility routines GETVRN GETNODETOELEMCONN and GETVRMAVGATNODE to access results data at the node Accessing node point data You are provided with access to the values of the node point quantities at the end of the increment through the utility routine GETVRN described in Obtaining node point
147. FacNod nSlvNod This array lists the surface node numbers of the master surface nodes that make up the facet onto which each slave node projects If the master surface is an analytical rigid surface this array is passed in as a dummy array timStep Value of step time timGlb Value of total time dtimCur Current increment in time from t tcurr At to t teurr surfint User specified surface interaction name left justified surfSlv Slave surface name surfMst Master surface name rdisp nDir nSlvNod An array containing the relative positions between the two surfaces The first component is the relative position of the slave node with respect to the master surface in the normal direction a positive value indicates a penetration and a negative value indicates a gap The second and third components if applicable are the accumulated incremental relative tangential displacements of the slave node measured from the beginning of the step in which the contact pair is defined The local directions in which the relative displacements are defined are stored in alocaldir If the master surface is an analytical surface the elements in rdisp are setto r_MaxVal for the slave nodes that are far from the master surface 1 2 15 6 VUINTER drdisp nDir nSlvNod An arrav containing the increments in relative positions between the two surfaces during the current time increment If the master surface is an analvtical surface the ele
148. For more details see Solid isoparametric quadrilaterals and hexahedra Section 3 2 4 ofthe Abaqus Theory Manual 1 1 40 2 UMAT Beams and shells that calculate transverse shear energv Ifuser subroutine UMAT is used to describe the material of beams or shells that calculate transverse shear energy you must specify the transverse shear stiffness as part of the beam or shell section definition to define the transverse shear behavior See Shell section behavior Section 28 6 4 of the Abaqus Analysis User s Manual and Choosing a beam element Section 28 3 3 of the Abaqus Analysis User s Manual for information on specifving this stiffness Open section beam elements When user subroutine UMAT is used to describe the material response of beams with open sections for example an l section the torsional stiffness is obtained as Kis Ka3 J SA where J is the torsional constant A is the section area k is a shear factor and Kag is the user specified transverse shear stiffness see Transverse shear stiffness definition in Choosing a beam element Section 28 3 3 of the Abaqus Analysis User s Manual Elements with hourglassing modes If this capability is used to describe the material of elements with hourglassing modes you must define the hourglass stiffness factor for hourglass control based on the total stiffness approach as part of the element section definition The hourglass stiffness factor is not
149. GS 2 1 LFLAGS 3 1 LFLAGS 3 2 Defines the procedure type See Results file output format Section 5 1 2 of the Abaqus Analysis User s Manual for the key used for each procedure Small displacement analysis Large displacement analysis nonlinear geometric effects included in the step see General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual Normal implicit time incrementation procedure User subroutine UELMAT must define the residual vector in RHS and the Jacobian matrix in AMATRX Define the current stiffness matrix AMATRX KN OFN du or GN du only 1 1 28 6 LFLAGS 3 23 LFLAGS 3 4 LFLAGS 3 5 LFLAGS 3 6 LFLAGS 3 100 LFLAGS 4 0 LFLAGS 4 1 LFLAGS 5 0 LFLAGS 5 1 TIME 1 UELMAT Define the current damping matrix AMATRX CN OFN du or AGN du only Define the current mass matrix AMATRX MNM 0FN dii only Abaqus Standard always requests an initial mass matrix at the start of the analysis Define the current residual or load vector RES F N only Define the current mass matrix and the residual vector for the initial acceleration calculation or the calculation of accelerations after impact Define perturbation quantities for output The step is a general step The step is a linear perturbation step The current approximations to u etc were based on Ne
150. IN e can be used to define the strain energy potential of anisotropic hyperelastic materials as a function of the components of the Green strain tensor e is called at all material calculation points of elements for which the material definition contains user defined anisotropic hyperelastic behavior with a Green strain based formulation Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e can include material behavior dependent on field variables or state variables and e requires that the values of the derivatives of the strain energy density function of the anisotropic hyperelastic material be defined with respect to the components of the modified Green strain tensor Storage of strain components In the array of modified Green strain EBAR direct components are stored first followed by shear components There are NDI direct and NSHR tensor shear components The order of the components is defined in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual Since the number of active stress and strain components varies between element types the routine must be coded to provide for all element types with which it will be used Storage of arrays of derivatives of the energy function The array of first derivatives of the strain energy function DU1 contains NTENS 1 components with NTENS NDI NSHR The first NTENS components correspond to the derivatives with respect to each com
151. INDVEL and GETCURRVEL get wave wind and current velocities Interface CALL GETWAVEVEL NDIM X V A LERROR NOEL XINTERMED CALL GETWINDVEL NDIM X V NOEL XINTERMED CALL GETCURRVEL NDIM X V NOEL XINTERMED 2 1 13 2 Abaqus Aqua UTILITV ROUTINES Variables to be provided to the utilitv routine NDIM Dimensionalitv of the element It should be set to 2 for two dimensional cases for example beams in a plane and 3 for three dimensional cases for example beams in space X 1 NDIM Global coordinates of the point Variables returned from the utilitv routine V 1 NDIM Velocitv components in the global coordinate svstem A 1 NDIM Wave acceleration components in the global coordinate system This variable is returned by GETWAVEVEL only LERROR For gridded wave data LERROR is returned as 0 if the current point is within the grid or above the crest itis returned as 1 if the point is outside the bounds of the grid For Airv and Stokes waves LERROR is alwavs returned as 0 If LERROR is returned as 1 the global coordinates of the nearest grid point are returned in X LERROR is returned by GETWAVEVEL only NOEL Element number XINTERMED NDIM An array containing the intermediate configuration coordinates of the load integration point For nonstochastic analysis this array is not used In a stochastic analysis the wave field is based upon this configuration Additional details are found in UWAVE Section 1
152. LConType nFlags 1 H MM l WWD non parameter iTimStep iTimGlb iDTimCur u iFrictionWork nData xXx Bh uNh lt dimension jFlags nFlags rData nData character 80 surfInt surfSlv surfMst user coding to define fTangential and optionally state return end Variable to be defined fTangential nFricDir nBlock This array must be updated to the current values of the frictional force components for all contact points in the local tangent directions See Figure 1 2 6 1 for a definition of the local coordinate system This array will be zero no friction force until it is set 1 2 6 4 VFRICTION Variable that can be updated state nStates nNodState nBlock This arrav contains the user defined solution dependent state variables for all the nodes on the slave surface The use of state variables is applicable for node to face and node to analvtical rigid surface contact See Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual for more information on the size of this arrav This arrav will be passed in containing the values of these variables prior to the call to user subroutine VFRICTION If anv of the solution dependent state variables are being used in conjunction with the friction behavior thev must be updated in this subroutine These state variables need to be updated with care outside the user subroutine these state variables are single valued per sl
153. Layer number for composite shells and layered solids KSPT Section point number within the current layer KSTEP Step number KINC Increment number CMNAME User specified material name left justified NSTATV User specified number of solution dependent state variables associated with this material Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual NUMFIELDV Number of field variables PREDEF NUMFIELDV Array of interpolated values of predefined field variables at this material point at the start of the increment based on the values read in at the nodes initial values at the beginning of the analysis and current values during the analysis DPRED NUMFIELDV Array of increments of predefined field variables at this material point for this increment this includes any values updated by user subroutine USDFLD NPROPS Number of hardening properties entered for this user defined hardening definition PROPS NPROPS Array of hardening properties entered for this user defined hardening definition 1 1 35 3 UHVPEL 1 1 36 UHVPEL User subroutine to define a hvpoelastic stress strain relation Product Abaqus Standard References e Hypoelastic behavior Section 21 4 1 of the Abaqus Analysis User s Manual e HYPOELASTIC Overview User subroutine UHYPEL e can beused to define isotropic hypoelastic material behavior thus requiring the definition
154. MS contains the integration operator values as LFLAGS PARAMS 1 a PARAMS 2 PARAMS 3 y An array containing the flags that define the current solution procedure and requirements for element calculations Detailed requirements for the various Abaqus Standard procedures are defined earlier in this section LFLAGS 1 LFLAGS 2 0 LFLAGS 2 1 LFLAGS 3 1 LFLAGS 3 2 LFLAGS 3 3 LFLAGS 3 4 Defines the procedure type See Results file output format Section 5 1 2 of the Abaqus Analysis User s Manual for the key used for each procedure Small displacement analysis Large displacement analysis nonlinear geometric effects included in the step see General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual Normal implicit time incrementation procedure User subroutine UEL must define the residual vector in RHS and the Jacobian matrix in AMATRX Define the current stiffness matrix AMATRX KN OFN du or OGN du only Define the current damping matrix AMATRX CN OFN du or AGN du only Define the current mass matrix AMATRX MNM 0FN only Abaqus Standard always requests an initial mass matrix at the start of the analysis 1 1 27 6 UEL LFLAGS 3 5 Define the current residual or load vector RHS F N only LFLAGS 3 6 Define the current mass matrix and the residual vector for t
155. MUM PRINCIPAL STRESS CRITERION C CALL SPRIND WT PS AN 1 NDI NSHR SIG1 PS 1 KMAX 1 DO K1 2 NDI IF PS K1 GT SIG1 THEN SIG1 PS K1 KMAX Kl END IF END DO FINDEX 1 SIG1 PROPS 1 DO Kl 1 NDI FNORMAL K1 1 AN KMAX K1 END DO c C QUADRATIC TRACTION INTERACTION CRITERION c FINDEX 2 STRESS 1 PROPS 2 2 0 STRESS NDI 1 PROPS 3 2 0 STRESS NDI 2 PROPS 4 2 0 c FINDEX 2 sqrt FINDEX 2 c DO Kl 1 NDI FNORMAL K1 2 ORI K1 1 END DO RETURN END 1 1 25 6 UDSECURRENT 1 1 26 UDSECURRENT User subroutine to define nonuniform surface current density in an eddy current analysis Product Abaqus Standard References e Time harmonic eddy current analysis Section 6 7 5 of the Abaqus Analysis User s Manual e DSECURRENT Overview User subroutine UDSECURRENT e can be used to define the variation of surface current density vector as a function of position excitation frequency phase element number load integration point number etc e will be called at each surface load integration point for each nonuniform surface current density definition during eddy current analysis and e ignores any amplitude references that may appear with the associated step definition or nonuniform distributed surface current density definition User subroutine interface subroutine udsecurrent C Write only surfacecurrent C Read only coords nBlock i array
156. Manual Models for metals subjected to cyclic loading Section 22 2 2 of the Abaqus Analysis User s Manual Extended Drucker Prager models Section 22 3 1 ofthe Abaqus Analysis User s Manual xINITIAL CONDITIONS HARDINI Section 4 1 8 of the Abaqus Verification Manual Overview User subroutine HARDINI can be used only for material models that use metal plasticity or Drucker Prager plasticity can be used to provide initial equivalent plastic strain values as a function of element number material point number and or material point coordinates for isotropic and combined hardening enables you to specify initial conditions for the backstress tensor as a function of element number material point number and or material point coordinates for kinematic and combined hardening will be called to define the initial equivalent plastic strain and if relevant the initial backstresses at material points for which user subroutine defined initial hardening conditions are specified and is intended for use when the initial equivalent plastic strain and or backstress distributions are too complicated to specify directly as initial hardening conditions Defining backstress components The number of backstress components that must be defined depends on the element type for which this routine is being called Part VI Elements of the Abaqus Analysis User s Manual describes the number of stress components for each ele
157. NCLUDE ABA PARAM INC c DIMENSION A N JDOF N X 6 N U MAXDOF N UINIT MAXDOF N TIME 2 TEMP NT N FIELD NF NT N LTRAN N TRAN 3 3 N PARAMETER PRECIS 1 D 15 c IF JTYPE EQ 1 THEN DYBCO X 2 5 UINIT 2 5 X 2 3 UINIT 2 3 DXBCO X 1 3 UINIT 1 3 X 1 5 UINIT 1 5 DYBC X 2 5 U 2 5 X 2 3 U 2 3 DXBC X 1 3 U 1 3 X 1 5 U 1 5 A 3 X 2 1 U 2 1 X 2 5 U 2 5 A 4 X 1 5 U 1 5 X 1 1 U 1 1 A 5 X 2 3 U 2 3 X 2 1 U 2 1 A 6 X 1 1 U 1 1 X 1 3 U 1 3 JDOF 3 1 1 1 14 7 MPC JDOF 4 2 JDOF 5 1 JDOF 6 2 IF ABS DYBCO LE PRECIS AND ABS DXBCO LE PRECIS THEN c c POINTS B AND C HAVE COLLAPSED DO NOT APPLY CONSTRAINT c LMPC 0 ELSE IF ABS DXBCO LT ABS DYBCO THEN c c MAKE U A DEPENDENT DOF c JDOF 1 1 JDOF 2 2 A 1 DYBC A 2 DXBC UE A 5 A 2 A 1 X 1 3 U 1 3 X 1 1 ELSE c c MAKE V A DEPENDENT DOF C JDOF 1 2 JDOF 2 1 A 1 DXBC A 2 DYBC UE A 6 A 2 A 1 X 2 3 U 2 3 X 2 1 END IF END IF C RETURN END Nodal version of user subroutine MPC The nodal version of user subroutine MPC allows for multiple degrees of freedom of a node to be eliminated simultaneously The set of constraints can be quite general and nonlinear of the form filu u u u geometry temperature field variables 0 i 1 2 NDEP 3 NDEP is the number of depend
158. NDARY 1 1 2 2 2 STEP STATIC 1 1 49 6 USDFLD 0 1 1 0 0 0 0 1 CLOAD 2 1 20 END STEP STEP STATIC 0 1 1 0 0 0 0 1 CLOAD 2 1 0 END STEP STEP INC 20 STATIC 0 1 2 0 0 0 0 1 CLOAD 2 1 40 END STEP User subroutine SUBROUTINE USDFLD FIELD STATEV PNEWDT DIRECT T CELENT 1 TIME DTIME CMNAME ORNAME NFIELD NSTATV NOEL NPT LAYER 2 KSPT KSTEP KINC NDI NSHR COORD JMAC JMATYP MATLAYO 3 LACCFLA INCLUDE ABA PARAM INC CHARACTER 80 CMNAME ORNAME CHARACTER 3 FLGRAY 15 DIMENSION FIELD NFIELD STATEV NSTATV DIRECT 3 3 1 T 3 3 TIME 2 DIMENSION ARRAY 15 JARRAY 15 JMAC JMATYP 1 COORD X Cc C Absolute value of current strain CALL GETVRM E ARRAY JARRAY FLGRAY JRCD JMAC JMATYP MATLAYO LACCFLA EPS ABS ARRAY 1 C Maximum value of strain up to this point in time CALL GETVRM SDV ARRAY JARRAY FLGRAY JRCD JMAC JMATYP MATLAYO LACCFLA EPSMAX ARRAY 1 C Use the maximum strain as a field variable FIELD 1 MAX EPS EPSMAX 1 1 49 7 USDFLD C Store the maximum strain as a solution dependent state C variable STATEV 1 FIELD 1 C If error write comment to DAT file IF JRCD NE O THEN WRITE 6 REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER 1 NOEL INTEGRATION POINT NUMBER NPT ENDIF RETURN END 1 1 49 8 1 1 50 UTEMP UTEMP User subroutine to specifv prescribed temperatures Product Abaqus Stand
159. NTER Contact Surfaces RSURFU Element Output UVARM Elements User defined UEL UELMAT Fields Predefined UFIELD UMASFL UPRESS USDFLD UTEMP Initial Conditions HARDINI SDVINI SIGINI UPOREP VOIDRI Interfacing with External Resources UEXTERNALDB URDFIL Loads Distributed DLOAD UTRACLOAD Loads Thermal FILM HETVAL Loads Electromagnetic UDECURRENT UDSECURRENT Material Properties CREEP UANISOHYPER INV UANISOHYPER STRAIN UDMGINI UEXPAN UFLUID UFLUIDLEAKOFF UHARD UHYPEL UHYPER UMULLINS UTRS Materials User defined UMAT UMATHT Motion Prescribed UMESHMOTION UMOTION Orientation ORIENT Pore Fluid Flow DFLOW DFLUX FLOW Random Response UCORR UPSD Shell Section Behavior UGENS Wave Kinematics UWAVE A 1 1 APPENDIX A INDEX Table A 2 Abaqus Explicit user subroutines Function Related user subroutines Amplitudes User defined VUAMP Boundary Conditions VDISP Contact Behavior VFRIC VFRIC_COEF VFRICTION VUINTER VUINTERACTION Elements User defined VUEL Fields Predefined VUFIELD VUSDFLD Fluid Exchange User defined VUFLUIDEXCH VUFLUIDEXCHEFFAREA Loads Distributed VDLOAD Material Properties VFABRIC VUANISOHXPER INV VUANISOHYPER STRAIN VUHARD VUTRS VUVISCOSITY Materials User defined VUMAT Wave Kinematics VWAVE
160. OU a a dE de OU _ del _ OU OJ AJ e 1 2 9 7 VUANISOHVPER STRAIN RU ji RU Oe dE Deldel PU eF OU de BU del OJ2 08J2 e J BEG OES OT U _ 2 2 OU ja AU i del de 9J 3J de BeG0eS AJ where e 2 20 1 a 3 E t and PeF 1 Oe J2 3J Od In this example an auxiliary function is used to facilitate indexing into a fourth order symmetric tensor The subroutine would be coded as follows subroutine vuanisohyper strain C Read only nblock jElem kIntPt kLayer kSecPt cmname ndir nshr nstatev nfieldv nprops props tempOld tempNew fieldOld fieldNew stateOld ebar detu C Write only uDev duDe duDj d2uDeDe d2uDjDj d2uDeDj stateNew C include vaba param inc C dimension props nprops tempOld nblock fieldOld nblock nfieldv stateOld nblock nstatev tempNew nblock fieldNew nblock nfieldv ebar nblock ndir nshr detu nblock x 1 2 9 8 AVMARN VUANISOHVPER STRAIN uDev nblock duDe nblock ndir nshr duDj nblock d2uDeDe nblock d2uDjDj nblock d2uDeDj nblock ndir nshr stateNew nblock nstatev Xxx character 80 cmname parameter half 0 5d0 one 1 d0 two 2 d0 third 1 d0 3 d0 twothds 2 d0 3 d0 four 4 40 dinv 0 d0 Orthotropic Saint Venant Kirchhoff strain energy function 3D D1111 props 1 D1122 props 2 D2222 props 3 D1133 props 4 D2
161. P 2 Current temperature at points A and B 1 1 10 2 GAPCON PREDEF 2 NPRED An array containing pairs of values of all of the user specified field variables at the end of the current increment at points A and B initial values at the beginning of the analysis and current values during the analvsis TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment CINAME User specified surface interaction name associated with the heat conductance definition left justified For contact elements it is the element set name given for the interface definition associated with the heat conductance definition if an optional name is assigned to the interface definition CINAME is passed in as this name left justified For gap elements it is the element set name for the element definition associated with the heat conductance definition SLNAME Slave surface name Passed in as blank if contact or gap elements are used MSNAME Master surface name Passed in as blank if contact or gap elements are used COORDS An array containing the coordinates of point A These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point NOEL Element label for contact or gap elements Passed in as zero if contact surfaces are
162. PAN UGENS UHARD UMAT UMATHT USDFLD UTRS The solution dependent state variables are passed into these routines in the order in which they are entered in SDVINI 1 1 17 1 SDVINI User subroutine interface SUBROUTINE SDVINI STATEV COORDS NSTATV NCRDS NOEL NPT 1 LAYER KSPT INCLUDE ABA PARAM INC DIMENSION STATEV NSTATV COORDS NCRDS user coding to define STATEV NSTATV RETURN END Variables to be defined STATEV 1 First solution dependent state variable STATEV 2 Second solution dependent state variable STATEV 3 Third solution dependent state variable Etc Only NSTATV solution dependent state variable values should be defined Variables passed in for information COORDS An array containing the initial coordinates of this point Coordinates are not available for user elements NSTATV User defined number of solution dependent state variables see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual NCRDS Number of coordinates This value is zero for user elements NOEL Element number 1 1 17 2 SDVINI NPT Integration point number in the element not relevant for user elements LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer or section Section point 1 is used for all pure heat transfer coupled temperature displacement and coupled thermal electr
163. PAN is called twice per material point per iteration In the first call for a given material point and iteration the values supplied are those at the start of the increment and can be updated In the second call for the same material point and iteration the values supplied are those returned from the first call and they can be updated again to their values at the end of the increment User subroutine UEXPAN allows for the incremental thermal strains to be only weakly dependent on the state variables The Jacobian terms arising from the derivatives of the thermal strains with respect to the state variables are not taken into account 1 1 29 2 UEXPAN Variables passed in for information TEMP 1 Current temperature at the end of the increment TEMP 2 Temperature increment TIME 1 Step time at the end of the increment TIME 2 Total time at the end of the increment DTIME Time increment PREDEF Array containing the values of all the user specified predefined field variables at this point initial values at the beginning of the analysis and current values during the analysis DPRED Array of increments of predefined field variables CMNAME User specified material name or gasket behavior name left justified NSTATV Number of solution dependent state variables associated with this material or gasket behavior type specified when space is allocated for the array see Allocating space in User subrout
164. PT LAYER 3 KSPT KSTEP KINC KDIRCYC KCYCLELCF TIMECYC SSE SPD SCD SVD 4 SMD JMAC JMATYP MATLAYO LACCFLA CELENT DROT ORT INCLUDE ABA PARAM INC DIMENSION FINDEX NFINDEX FNORMAL NDI NFINDEX COORDS 1 STRESS NTENS STRAIN NTENS STRAINEE NTENS PROPS NPROPS 2 STATEV NSTATV PREDEF NFIELD DPRED NFIELD TIME 2 JMAC 3 JMATYP DROT 3 3 ORI 3 3 1 1 25 1 UDMGINI user coding to define FINDEX and FNORMAL RETURN END Variables to be defined FINDEX NFINDEX A Vector defining the indices for all the failure mechanisms FNORMAL NDI NFINDEX An Array defining the normal direction to the fracture plane three dimensions or line two dimensions for each failure mechanism Variables that can be updated STATEV An array containing the user defined solution dependent state variables at this point This array will be passed in containing the values of these variables at the start of the increment unless the values are updated in user subroutine USDFLD They can be updated in this subroutine to their values at the end of the increment You define the size of this array by allocating space for it see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information SSE SPD SCD SVD SMD Specific elastic strain energy plastic dissipation creep dissipation viscous and damage energy respectively
165. Q indicating whether the material is currently yielding and N A in the eighth component If the identifier HFL is specified ARRAY will be returned with the magnitude HFLM and the components HFL1 HFL2 and HFL3 as described in Abaqus Standard output variable identifiers Section 4 2 1 of the Abaqus Analysis User s Manual Accessing state dependent variables If GETVRM is used to access state dependent variables output variable key SDV and more than 15 state dependent variables have been defined in the analysis the dimension statement for ARRAY and JARRAY must be changed so that these arrays are dimensioned to the maximum number of state dependent variables 2 1 6 3 MATERIAL POINT INFORMATION Unsupported element tvpes procedures and output variable kevs Since this capabilitv pertains to material point quantities it cannot be used for most of the element tvpes that do not require a material definition The following element tvpes are therefore not supported e DASHPOTx e SPRINGx e CONNxDx e FRAMExD e JOINTC e JOINTxD e DRAGxD e PSIx e ITSxxx e MASS e ROTARYI e all acoustic elements e all contact elements e all hvdrostatic fluid elements If used with user subroutine UVARM this capabilitv is not available for linear perturbation procedures General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual e static linear perturbation analysis Procedures overview Section
166. T 4 Er 9 p q E 2 time FSW jsw SW CT 4 gsw 9 p Ge etme ed where ET is the uniaxial equivalent creep strain conjugate to the Mises or Hill equivalent stress ESU is the volumetric swelling strain p is the equivalent pressure stress p s on 992 933 and q is the equivalent deviatoric stress Mises or if anisotropic creep behavior is defined Hill s definition The user subroutine must define the increments of inelastic strain AZ and A as functions of pand and any other variables used in the definitions of g and g such as solution dependent state variables introduced by you and of the time increment At If any solution dependent state variables are included in the definitions of g and g they must also be integrated forward in time in this routine Abaqus computes the incremental creep strain or the incremental viscoplastic strain components as 1 1 1 2 CREEP 1 Ne gone RR AEn where n is the gradient of the deviatoric stress potential defined as aq n do and R is a matrix with the anisotropic swelling ratios in the diagonal if anisotropic swelling is defined otherwise R I Drucker Prager materials For materials that yield according to the extended Drucker Prager plasticity models using Drucker Prager creep the routine allows any creep laws viscoplastic behavior of the following general form to be defined
167. TEMP 2 PREDEF 2 NPRED DPRED 2 NPRED TIME 2 PROPS NPROPS COORDS MCRD ALOCALDIR 3 3 DROT 2 2 DVISCOUS NDIR NDIR DSTRUCTURAL NDIR NDIR uu PWN user coding to define STRESS DDSDDR FLUX DDFDDT DDSDDT DDFDDR and optionally STATEV SED SFD SPD SVD SCD PNEWDT LOPENCLOSE LSTATE LSDI DVISCOUS DSTRUCTURAL RETURN END Variables to be defined STRESS NDIR This array is passed in as the stress between the slave and master surfaces at the beginning of the increment and must be updated in this routine to be the stress at the end of the increment The stress must be defined in a local coordinate system see ALOCDIR This variable must be defined for a stress displacement a fully coupled temperature displacement or a coupled thermal electrical structural analysis The sign convention for stresses is that a positive stress indicates compression across contact surfaces while a negative stress indicates tension DDSDDR NDIR NDIR Interface stiffness matrix DDSDDR I J defines the change in the Ith stress component at the end of the time increment caused by an infinitesimal perturbation of the Jth component of the relative displacement increment array Unless you invoke the unsymmetric equation solution capability in the contact property model definition Use with the unsymmetric equation solver in Abaqus Standard in User defined interfacial constitutive behavior Section 35 1 6 of th
168. TRX KNM 1 At CN where CNM is the heat capacity matrix and RHS FN and must update the state variables H Steady state coupled thermal electrical structural analysis LFLAGS 1 102 e Identical to static analysis except that the automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 7 9 and 11 Transient coupled thermal electrical structural analysis 6 LFLAGS 1 103 104 e Automatic convergence checks are applied to the residuals corresponding to degrees of freedom 1 7 9 and 11 e The backward difference scheme is always used for time integration that is Abaqus Standard assumes that tia Au At where Au utpat Ur Therefore d du 1 At always For degree of freedom 11 max Au will be compared against the user prescribed maximum allowable nodal temperature change in an increment Af maz for controlling the time integration accuracy e You must define AMATRX KNM 1 At CNM where CN is the heat capacity matrix and RHS FN and you must update the state variables H 1 1 27 12 veL Usage with linear perturbation procedures General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual describes the linear perturbation capabilities in Abaqus Standard Here base state values of variables will be denoted by uM H etc Perturbation values will be denoted by i H etc Abaqus Standard will not call u
169. The 1 1 41 3 UMATHT suggested new time increment provided to the automatic time integration algorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in the analvsis 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 Variables passed in for information TEMP Temperature at the start of the increment DTEMP Increment of temperature DTEMDX NTGRD Current values of the spatial gradients of temperature 80 x TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment PREDEF Array ofinterpolated values of predefined field variables at this point at the start ofthe increment based on the values read in at the nodes DPRED Array of increments of predefined field variables CMNAME User defined material name left justified NTGRD Number of spatial gradients of temperature NSTATV Number of solution dependent state variables associated with this material type defined as described in Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual PROPS NPROPS User specified array of material constants associated with this user material 1
170. UANISOHYPER INV an enumerated representation of each invariant is introduced Any scalar invariant can therefore be represented uniquely by an enumerated invariant I where the subscript n denotes the order of the invariant according to the enumeration scheme in the following table Invariant Enumeration n I 1 T 2 3 T4 08 4 Xa 1 B8 1 as B T5 09 5 2 a 1 A 6 1 a lt 1 1 20 1 UANISOHYPER_INV For example in the case of three families of fibers there are a total of 15 invariants 14 Io J six invariants of type 4 43 and six invariants of type I5 4 with a 9 1 2 3 a lt B The following correspondence exists between each of these invariants and their enumerated counterpart Enumerated Invariant invariant li Ih 1 Ty I J I Lar I5 Isa1 16 Laz 4 I5a2 Is Is Is I5 22 Tio Las I T 3 li T4 23 T s 1523 lia 14 33 Is I5 33 A similar scheme is used for the array ZETA of terms Cag Aa Ag Each term can be represented uniquely by an enumerated counterpart as shown below Dot product Enumeration m Cap a 3 8 2 1 a lt P As an example for the case of three families of fibers there are three Cag terms 12 13 and C23 These are stored in the ZETA array as f G3 C3 Storage of arrays of derivatives of the energy function The components of the array UI1 of first derivatives of the strain energy potential wi
171. UMPROPS user coding to define UA DU1 DU2 DU3 STATEV RETURN END Variables to be defined UA 1 U strain energy density function For a compressible material at least one derivative involving Jshould be nonzero For an incompressible material all derivatives involving J are ignored UA 2 Uqen the deviatoric part of the strain energy density of the primary material response This quantity is needed only if the current material definition also includes Mullins effect see Mullins effect Section 21 6 1 of the Abaqus Analysis User s Manual DU1 NTENS 1 Derivatives of strain energy potential with respect to the components of the modified Green strain tensor U OEE and with respect to the volume ratio 9U 0J DU2 NTENS 1 NTENS 2 2 Second derivatives of strain energy potential with respect to the components of the modified Green strain tensor and the volume ratio using triangular storage as mentioned earlier DU3 NTENS 1 NTENS 2 2 Derivatives with respect to J of the second derivatives of the strain energy potential using triangular storage as mentioned earlier This quantity is needed only for compressible materials with a hybrid formulation when INCMPFLAG 0 and IHYBFLAG 1 STATEV Array containing the user defined solution dependent state variables at this point These are supplied as values at the start of the increment or as values updated by other user subroutines see User subrout
172. a this explicitly includes the time step diff dgamma dsmag radius facyld term diff Update equivalent plastic strain deqps conl 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 twoThirds 1 2 17 13 VUMAT stateNew i 1 stateOld i 1 factor dsl stateNew i 2 stateOld i 2 factor ds2 stateNew i 3 stateOld i 3 factor ds3 stateNew i 4 stateOld i 4 factor s4 Cc C Update the stress factor twomu dgamma stressNew i 1 sigl factor dsl stressNew i 2 sig2 factor ds2 stressNew i 3 sig3 factor ds3 stressNew i 4 sig4 factor s4 Cc C Update the specific internal energy stressPower half stressOld i 1 stressNew i 1 strainInc i 1 stressOld i 2 stressNew i 2 strainInc i 2 stressOld i 3 stressNew i 3 strainInc i 3 two stressOld i 4 stressNew i 4 strainInc i 4 PRPRR enerInternNew i enerInternOld i 1 stressPower density i Cc C Update the dissipated inelastic specific energy plasticWorkInc dgamma half stressOld i 1 stressNew i 1 ds1 stressOld i 2 stressNew i 2 ds2 stressold 1 3 stressNew i 3 ds3 two stressOld i 4 stressNew i 4 s4 enerInelasNew i enerInelasold
173. a dummy array velSlv nDir nNodSlv nBlock Array containing the nDir components of the current velocity of the contact points velMst nDir nNodMst nBlockAnal Array containing the nDir components of the current velocity of the master nodes associated with the contact points If the master surface is an analytical rigid surface this array is passed in as a dummy array tempS1v nBlock Current temperature of the slave surface at the contact points tempMst nBlockAnal Current temperature at the points on the master surface associated with the contact points fieldSlv nFields nBlock Current user specified predefined field variables on the slave surface at the contact points initial values at the beginning of the analysis and current values during the analysis fieldMst nFields nBlockAnal Current user specified predefined field variables at the points on the master surface associated with the contact points initial values at the beginning of the analysis and current values during the analysis 1 2 6 8 VUAMP 1 2 7 VUAMP User subroutine to specifv amplitudes Product Abaqus Explicit References e Amplitude curves Section 32 1 2 of the Abaqus Analvsis User s Manual e AMPLITUDE e xOUTPUT Overview User subroutine VUAMP e allows you to define the current value of an amplitude definition as a function of time e can be used to model control engineering aspects of your system when sensors are used sensor
174. ables For our simple case a user material definition can be used to read in the five constants in the order A Ls ji and D so that 1 1 40 12 UMAT PROPS 1 PROPS 2 u PROPS 3 A PROPS 4 ji PROPS 5 D The routine can then be coded as follows SUBROUTINE UMAT STRESS STATEV DDSDDE SSE SPD SCD Q 1 RPL DDSDDT DRPLDE DRPLDT 2 STRAN DSTRAN TIME DTIME TEMP DTEMP PREDEF DPRED CMNAME 3 NDI NSHR NTENS NSTATV PROPS NPROPS COORDS DROT PNEWDT 4 CELENT DFGRDO DFGRD1 NOEL NPT LAYER KSPT KSTEP KINC INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION STRESS NTENS STATEV NSTATV 1 DDSDDE NTENS NTENS 2 DDSDDT NTENS DRPLDE NTENS 3 STRAN NTENS DSTRAN NTENS TIME 2 PREDEF 1 DPRED 1 4 PROPS NPROPS COORDS 3 DROT 3 3 DFGRDO 3 3 DFGRD1 3 3 DIMENSION DSTRES 6 D 3 3 EVALUATE NEW STRESS TENSOR EV 0 DEV 0 DO K1 1 NDI EV EV STRAN K1 DEV DEV DSTRAN K1 END DO TERM1 5 DTIME PROPS 5 TERMII 1 TERM1 1 1 40 13 UMAT a TERM2 5 DTIME PROPS 1 PROPS 3 TERM1I DEV TERM3 DTIME PROPS 2 2 PROPS 4 TERM1I DO K1 1 NDI DSTRES K1 TERM2 TERM3 DSTRAN K1 1 DTIME TERM1I PROPS 1 EV 2 2 PROPS 2 STRAN K1 STRESS K1 STRESS K1 STRESS K1 DSTRES K1 END DO TERM2 5 DTIME PROPS 2 PROPS 4 TERMII Il NDI DO K1 1 NSHR Il Il l DSTRES Il TERM2 DSTRAN
175. ables at the start of the current increment They should be updated to be the values at the end of the increment unless the procedure during which UEL is being called does not require such an update This depends on the entries in the LFLAGS array see below For linear perturbation steps this array is passed into UEL containing the values of these variables in the base state They should be returned containing perturbation values if you wish to output such quantities 1 1 27 2 UEL When KINC is equal to zero the call to UEL is made for zero increment output see Output Section 4 1 1 of the Abaqus Analysis User s Manual In this case the values returned will be used only for output purposes and are not updated permanentiv ENERGX For general nonlinear steps array ENERGY contains the values of the energy quantities associated with the element The values in this array when UEL is called are the element energy quantities at the start of the current increment They should be updated to the values at the end of the current increment For linear perturbation steps the array is passed into UEL containing the energy in the base state They should be returned containing perturbation values if you wish to output such quantities The entries in the array are as follows ENERGY 1 Kinetic energy ENERGY 2 Elastic strain energy ENERGY 3 Creep dissipation ENERGY 4 Plastic dissipation ENERGY 5 Viscous dissipation ENERGY 6 Ar
176. ach time element calculations are required and e or subroutines called by user subroutine UEL must perform all of the calculations for the element appropriate to the current activitv in the analvsis Wave kinematic data For Abaqus Aqua applications four utilitv routines GETWAVE GETWAVEVEL GETWINDVEL and GETCURRVEL are provided to access the fluid kinematic data These routines are used from within user subroutine UEL and are discussed in detail in Obtaining wave kinematic data in an Abaqus Aqua analysis Section 2 1 13 User subroutine interface 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 AMATRX NDOFEL NDOFEL PROPS 1 SVARS ENERGY 8 COORDS MCRD NNODE U NDOFEL 1 1 27 1 veL 2 DU MLVARX V NDOFEL A NDOFEL TIME 2 PARAMS 3 JDLTYP MDLOAD ADLMAG MDLOAD DDLMAG MDLOAD 4 PREDEF 2 NPREDF NNODE LFLAGS JPROPS user coding to define RHS AMATRX SVARS ENERGY and PNEWDT RETURN END Variables to be defined RHS These arrays depend on the value of the LFLAGS array An array containing the contributions of this element to the right hand side vectors of the overall system of eq
177. ad for which the wave kinematics are calculated The parameters j ler PBtoj cer TSI indicate the values by which the load types can be identified sname The name of the element set on which the load is applied 1UpdFluidVar This integer flag is used to update different fluid variables The flag acquires known values as declared in the list of parameters This flag provides information regarding which variables are to be updated on each call When the subroutine is called with LUpdFluidVar havinga value ofj upd FreeSurf only the free surface elevation at each point is updated otherwise different sets of fluid variables are updated depending on different values of lUpdFluidvVar as explained in the subroutine structure above Coord nblock ndim This array contains the global coordinates of all points in their current configuration at the start of the time increment Velocity nblock ndim This array contains the structural velocities of all points at the mid increment time level of the previous increment 1 2 21 5 VWAVE StateVar nblock nstatevar This arrav contains the user defined solution dependent state variables at all points The state variables can optionally be updated during the first call when the flag LlUpdFluidVar has a value of j_upd_FreeSurf At the second call the incoming values are interpolated values at the integration points and are read only FieldVar nblock nfieldvar This arrav contains the field variable
178. adians time nrarrav Size of arrav r_ array Currently equal to 2 c arrav 1 Not used 1 1 23 3 UDECURRENT ncarrav Size of arrav c arrav 1 Currentiv equal to 1 1 1 23 4 UDEMPOTENTIAL 1 1 24 UDEMPOTENTIAL User subroutine to define nonuniform magnetic vector potential on a surface in an eddy current analysis Product Abaqus Standard References e Time harmonic eddy current analysis Section 6 7 5 of the Abaqus Analysis User s Manual e xD EM POTENTIAL Overview User subroutine UDEMPOTENTIAL e can be used to define the variation of the magnetic vector potential as a function of position excitation frequency phase element number etc e will be called for each surface based nonuniform electromagnetic potential definition during eddv current analvsis and e ignores any amplitude references that may appear with the associated step definition or nonuniform distributed electromagnetic potential definition User subroutine interface subroutine udempotential C Write only vecPot C Read only coords nBlock i array niarray r array nrarray c arrav ncarray include aba param inc dimension vecPot nBlock coords nBlock i_array r array character 80 c array parameter i udempot kstep 1 1 1 24 1 UDEMPOTENTIAL i udempot kinc 2 i udempot noel 3 i udempot currtvp 4 i udempot phase 5 i udempot proc 6 c p
179. aining the coordinates of this point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point JLTYP Identifies the element face for which this call to DFLOW is being made through the element based flow definition This information is useful when several different nonuniform distributed flows are being imposed on an element at the same time See Part VI Elements of the Abaqus Analysis User s Manual for identification of element faces The key is as follows 1 1 2 2 JLTXP 11 12 13 14 15 16 SNAME DFLOW Flow type Surface based load SINU S2N S3N S4N S5N S6N G G G G Surface name for which this call to DFLOW is being made through the surface based flow definition JLTYP 0 For an element based flow definition the surface name is passed in as a blank 1 1 2 3 DFLUX 1 1 3 DFLUX User subroutine to define nonuniform distributed flux in a heat transfer or mass diffusion analvsis Product Abaqus Standard References e Thermal loads Section 32 4 4 of the Abaqus Analvsis User s Manual e Mass diffusion analysis Section 6 9 1 of the Abaqus Analysis User s Manual e DFLUX e DSFLUX e DFLUX Section 4 1 1 of the Abaqus Verification Manual Overview User subroutine DFLUX e ca
180. aint forces node a to be on the straight line connecting nodes b and c see Figure 1 1 14 1 Figure 1 1 14 1 Nonlinear MPC example two dimensional slider 1 1 14 6 MPC The constraint equation can be written in the form f u vt u v u v 2 2 y y y y 2 0 where x y 2 17 and x y are the current locations of a b and c The derivatives are readily obtained as of c 4 OF a c f b a ua Y TY u S Y g Y 0 0 0 leg x l g En a x v v v Depending on the orientation of the segment b c we choose either u or v as the degree of freedom to be eliminated If ir x gt ly yP we choose v as the dependent degree of freedom If ie a lt y yP we choose u as the dependent degree of freedom Moreover if points band c are coincident the constraint is not applied To prevent the choice of either u or v as the dependent degree of freedom from changing during the course of an iteration the orientation of the segment b c is tested based on the geometry at the beginning of the iteration The dependent degree of freedom is allowed to change from increment to increment Suppose the above multi point constraint is defined as type 1 with nodes a a b b c c The user subroutine MPC could be coded as follows SUBROUTINE MPC UE A JDOF MDOF N JTYPE X U UINIT MAXDOF LMPC KSTEP KINC TIME NT NF TEMP FIELD LTRAN TRAN c I
181. al PROPS NPROPS A floating point array containing the NPROPS real property values defined for use with this section JPROPS NJPROP An integer array containing the NJPROP integer property values defined for use with this section NPROPS User defined number of real property values associated with this section Defining the section properties in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual NJPROP User defined number of integer property values associated with the element Defining the section properties in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual COORDS An array containing the current coordinates of this integration point 1 1 34 5 UGENS CELENT Characteristic element length in the reference surface THICK Original section thickness DFGRD 3 3 An array containing the components of the midsurface deformation gradient fij The deformation gradient curvature tensor is available for finite strain shells S3 S3R S4 SAR SAXs and SAXAs it is not available for small strain shells The deformation gradient is stored as a 3 x 3 matrix with component equivalence DFGRD I J fi p fa 8 Greek subscripts range from 1 to 2 are the in plane components of the deformation gradient and f33 is the thickness change component The components fag are the tran
182. al structural analysis User subroutine to define initial equivalent plastic strain and initial backstress tensor User subroutine to provide internal heat generation in heat transfer analysis User subroutine to define multi point constraints User subroutine to provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid body directions for inertia relief User subroutine to define a rigid surface User subroutine to define initial solution dependent state variable fields User subroutine to define an initial stress field User subroutine to specify amplitudes User subroutine to define anisotropic hyperelastic material behavior using the invariant formulation A 2 1 APPENDIX A INDEX UANISOHYPER STRAIN UCORR UDECURRENT UDEMPOTENTIAL UDMGINI UDSECURRENT UEL UELMAT UEXPAN UEXTERNALDB UFIELD UFLUID UFLUIDLEAKOFF UGENS UHARD UHYPEL UHYPER UINTER UMASFL UMAT UMATHT UMESHMOTION UMOTION UMULLINS UPOREP UPRESS User subroutine to define anisotropic hyperelastic material behavior based on Green strain User subroutine to define cross correlation properties for random response loading ser subroutine to define nonuniform volume current density in an eddy urrent analysis ser subroutine to define nonuniform magnetic vector potential on a urface in an eddy current analysis ser subroutine to define the damage initiation crite
183. al variable updates By default only one field variable is updated at a time for given nodes or a given node set in user subroutine VUFIELD The user subroutine is called whenever a current value ofa field variable is needed for the nodes that are listed in the field variable definition This method is ideal for cases in which the field variables are independent of each other Simultaneous variable updates User subroutine VUFIELD can also be used to update multiple field variables simultaneously for given nodes or a given node set This method is well suited for cases in which there are dependencies between some of the field variables In this case you must specify the number of field variables to be updated simultaneously and the user subroutine will be called each time the field variable values are needed 1 2 11 1 VUFIELD User subroutine interface SUBROUTINE VUFIELD FIELD NBLOCK NFIELD KFIELD NCOMP 1 KSTEP KINC JNODEID TIME 2 COORDS U V A C INCLUDE VABA PARAM INC C indices for the time array TIME PARAMETER i ufld Current 1 i ufld Increment 2 i_ufld Period 3 i_ufld Total za c indices for the coordinate arrav COORDS PARAMETER i ufld CoordX 1 i_ufld CoordY 2 i ufld CoordZ 3 c indices for the displacement arrav U PARAMETER i ufld SpaDisplX 1 i_ufld SpaDisplY 2 i_ufld SpaDisp1Z 3 i_ufld RotDisplX 4 i_ufld RotDisplY 5 i_ufld RotDisp1Z 6 i ufld AcoPress 7
184. alf xpow one E22 xpow ebar 2 half xpow one E33 xpow ebar 3 half xpow one E12 xpow ebar 4 E13 xpow ebar 5 E23 xpow ebar 6 terml twothds xpow detulnv dEllDj terml E11 half dE22Dj terml E22 half dE33Dj terml E33 half dEl2Dj terml E12 dE13Dj terml E13 dE23Dj terml E23 1 1 21 8 UANISOHVPER STRAIN term2 third detulnv a2E11DjDj term2 dE11Dj d2E22DjDj term2 dE22Dj d2E33DjDj term2 dE33Dj d2E12DjDj term2 dE12Dj d2E13DjDj term2 dE13Dj d2E23DjDj term2 dE23Dj F HF ox dUdE11 d2UdE11dE11 d2UdE11dE22 d2UdE11dE33 d2UdE22dE11 d2UdE22dE22 d2UdE22dE33 d2UdE33dE11 E11 d2UdE33dE22 E22 d2UdE33dE33 E33 dUdE12 two d2UdE12dE12 E12 dUdE13 two d2UdE13dE13 E13 dUdE23 two d2UdE23dE23 E23 E11 E22 E33 E11 E22 E33 dUdE22 dUdE33 I l F U half E11 dUdE11 E22 dUdE22 E33 dUdE33 E12 dUdE12 E13 dUdE13 E23 dUdE23 ua 2 U ua 1 ua 2 dul 1 xpow dUdELL dul 2 xpow dUdE22 dul 3 xpow dUdE33 dul 4 xpow dUdEl2 dul 5 xpow dUdEIl3 dul 6 xpow dUdE23 dul 7 dUdEI1 dEl1Dj dUdE22 dE22Dj dUdE33 dE33Dj two dUdE12 dE12Dj dUdE13 dE13Dj dUdE23 dE23Dj xpow2 xpow xpow du2 indx 1 1 du2 indx 1 2 xpow2 d2UdE11dE11 xpow2 d2UdE11dE22 1 1 21 9 UANISOHVPER STRAIN
185. along elevation at load integration points and is calculated when the flag lUpdFluidVar has the value j upd FluidVarBuovancv The incoming array contains zeros Similar to steady pressures the gradients are not stored but are calculated by Abaqus Explicit at each load integration point based on the data provided under the AQUA option and scaled by the ScaleSteady parameter Variables that can be updated The fluid variables such as velocity acceleration pressure and pressure gradient along elevation used in load calculations are split in steady and unsteady parts The following real variables scale each of those parts ScaleSteady This variable is used by Abaqus Explicit to scale the steady part of the fluid variables For drag loads this variable is the amplitude value provided for this purpose on the load data line as explained in Abaqus Aqua analysis Section 6 11 1 of the Abaqus Analysis User s Manual For all other loads its incoming value is one The user can optionally update this variable ScaleUnsteady This variable is used by Abaqus Explicit to scale the unsteady part of the fluid variables The user is expected to define unscaled values for unsteady fluid variables For drag loads this variable is the amplitude value provided for this purpose on the load data line as explained in Abaqus Aqua analysis Section 6 11 1 of the Abaqus Analysis User s Manual For all other loads its incoming value is one The user c
186. an optionally update this variable Variables passed in for information kStep kInc Step number Increment number nblock ndim Number of nodes or load integration points where the wave effects are to be computed Dimension of the problem two or three dimensional problem nprops The number of properties real numbers for the user defined wave which is specified using the PROPERTIES parameter 1 2 21 4 VWAVE naquaconst The number of constants that can be defined by the user for the steady fluid field at the first data line under the AQUA option Currently this value is four nwindconst The maximum number of constants that can be defined by the user for the wind profile at the first data line under the WIND option Currently this value is seven nstatevar The number of state variables for the user defined wave which is specified using the DEPVAR parameter nfieldvar The number of field variables available on the element set on which the load is applied At the first call the field variables will be available at nodes and at the second call they will be available at the load integration points iElemType An integer indicating the type of element these points belong to 1 for line elements 2 for surface elements and 3 for solid elements This integer is used to interpret the value of the direction vector DirVec provided at each point iLoadType An integer indicating the type of Abaqus Aqua lo
187. ange multiplier and will modify the Jacobian appropriately For incompressible pressure sensitive materials the element choice is particularly important when using user subroutine UMAT In particular first order wedge elements should be avoided For these elements the B technique is not used to alter the deformation gradient that is passed into user subroutine UMAT which increases the risk of volumetric locking 1 1 40 4 UMAT Increments for which oniv the Jacobian can be defined Abaqus Standard passes zero strain increments into user subroutine UMAT to start the first increment of all the steps and all increments of steps for which you have suppressed extrapolation see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual In this case you can define only the Jacobian DDSDDE Utility routines Several utility routines may help in coding user subroutine UMAT Their functions include determining stress invariants for a stress tensor and calculating principal values and directions for stress or strain tensors These utility routines are discussed in detail in Obtaining stress invariants principal stress strain values and directions and rotating tensors in an Abaqus Standard analysis Section 2 1 11 User subroutine interface SUBROUTINE UMAT STRESS STATEV DDSDDE SSE SPD SCD 1 RPL DDSDDT DRPLDE DRPLDT 2 STRAN DSTRAN TIME DTIME TEMP DTEMP PREDEF DPRED CMNAME 3 NDI NSHR NTENS NSTATV
188. ank 1 1 3 3 DISP 1 1 4 DISP User subroutine to specifv prescribed boundarv conditions Product Abaqus Standard References e Boundarv conditions in Abaqus Standard and Abaqus Explicit Section 32 3 1 of the Abaqus Analvsis User s Manual e Connector actuation Section 30 1 3 of the Abaqus Analysis User s Manual e BOUNDARY e CONNECTOR MOTION e Riser dynamics Section 12 1 2 of the Abaqus Example Problems Manual e DISP Section 4 1 2 of the Abaqus Verification Manual e BOUNDARY Section 5 1 5 of the Abaqus Verification Manual Overview User subroutine DISP e can be used to define the magnitudes of prescribed boundary conditions or connector motions e is called for all degrees of freedom listed in a user subroutine defined boundary condition or connector motion definition e redefines any magnitudes that may be specified and possibly modified by an amplitude as part of the associated boundary condition or connector motion definition and e ignores the specified type if any of the associated boundary condition or connector motion definition User subroutine interface SUBROUTINE DISP U KSTEP KINC TIME NODE NOEL JDOF COORDS c INCLUDE ABA PARAM INC c DIMENSION U 3 TIME 2 COORDS 3 c user coding to define U RETURN END 1 1 4 1 DISP Variable to be defined U 1 Total value of the prescribed variable at this point The variable mav be displacem
189. anual NUMFIELDV Number of field variables FIELDV Array of interpolated values of predefined field variables at this material point at the end of the increment based on the values read in at the nodes initial values at the beginning of the analysis and current values during the analysis FIELDVINC Array ofincrements of predefined field variables at this material point for this increment this includes any values updated by the user subroutine USDFLD NUMPROPS Number of material properties entered for this user defined hyperelastic material PROPS Array of material properties entered for this user defined hyperelastic material 1 1 37 4 UINTER 1 1 38 UINTER User subroutine to define surface interaction behavior for contact surfaces Product Abaqus Standard References e User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual e SURFACE INTERACTION e UINTER Section 4 1 20 of the Abaqus Verification Manual Overview User subroutine UINTER e is called at points on the slave surface of a contact pair with a user defined constitutive model defining the interaction between the surfaces e canbe used to define the mechanical normal and shear and thermal heat flux interactions between surfaces e can be used when the normal surface behavior contact pressure versus overclosure models Contact pressure overclosure relationships Section 35 1 2 of th
190. arameter ir udempot time 1 1 ir udempot time 2 2 c parameter ic udempot surf 1 c parameter i pottyp mvp 1 c parameter i proc if th 1 c parameter i udempot phase real 1 i_udempot phase imag 2 c user coding to define vecPot return end Variable to be defined vecPot nBlock Components of the magnetic vector potential at a block of surface points vecPot will be passed into the routine as the vector specified as part of the surface based nonuniform magnetic vector potential definition If the vector is not defined vecPot will be passed in as zero Variables passed in for information coords nBlock An array containing the coordinates of a block of surface points nBlock Number of surface points in this block Currently equal to 1 i arrav i udempot kstep Step number i arrav i udempot kinc Increment number 1 1 24 2 UDEMPOTENTIAL i arrav i udempot noel Element number i arrav i udempot pottvp Currently equal to 1 i arrav i udempot phase This value is either 1 i udempot phase real or2 i udempot phase imag depending on whether the current call to the user subroutine defines the real in phase or the imaginarv out of phase part of the magnetic vector potential i arrav i udempot proc Currentiv equal to 1 niarrav Size of arrav i arrav Currentiv equal to 6 r arrav ir udempot time 1 Excitation frequencv in cvcles time r arrav ir udempot time 2 Exc
191. ard References Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual TEMPERATURE LEll Solid cylinder taper sphere temperature loading Section 4 2 11 of the Abaqus Benchmarks Manual UTEMP UFIELD UMASFL and UPRESS Section 4 1 25 ofthe Abaqus Verification Manual Overview User subroutine UTEMP allows you to prescribe temperatures at the nodes of a model will be called whenever a current value of temperature is needed for a node that is listed under a user defined temperature field definition ignores any temperatures provided for the associated temperature field definition outside the user subroutine and can be used to modify any temperatures read in from a results file User subroutine interface SUBROUTINE UTEMP TEMP NSECPT KSTEP KINC TIME NODE COORDS INCLUDE ABA PARAM INC DIMENSION TEMP NSECPT TIME 2 COORDS 3 user coding to define TEMP RETURN END 1 1 50 1 UTEMP Variable to be defined TEMP NSECPT Arrav of temperature values at node number NODE If the node is not connected to a beam or shell element only one value of temperature must be returned NSECPT 1 Otherwise the number of temperatures to be returned depends on the mode of temperature and field variable input selected for the beam or shell section The following cases are possible 1 Temperatures and field variables for a beam section are given as values at the points shown in
192. ard creep laws see Quasi static analysis Section 6 2 5 of the Abaqus Analysis User s Manual cannot be controlled from within the UMAT subroutine PNEWDT is set to a large value before each call to UMAT If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard may increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in 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 Variables passed in for information STRAN NTENS An arrav containing the total strains at the beginning of the increment If thermal expansion is included in the same material definition the strains passed into UMAT are the mechanical strains only that is
193. ariable 5 rval c include vaba param inc character 80 cbname dimension jDof nDof jNodeUid nblock amp nblock coordNp nCoord nblock u nDof nblock v nDof nblock a nDof nblock rf nDof nblock rmass nblock rotaryI 3 3 nblock rval nDof nblock Ae WNB do 100 k 1 nblock do 100 j 1 nDof if jDof j gt 0 then user coding to define rval j k end if 100 continue return end Variable to be defined rval nDof nblock Values of the prescribed variable for degrees of freedom 1 6 translation and rotation at the nodes The variable can be displacement velocitv or acceleration depending on the tvpe specified in the associated boundary condition The variable type is indicated by jBCType 1 2 1 2 VDISP Variables passed in for information nblock Number of nodal points to be processed in this call to VDISP nDof Number of degrees of freedom equals 6 nCoord Number of coordinate components equals 3 kstep Step number kinc Increment number stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given bv totalTime stepTime dtNext Next time increment size dt Current time increment size cbname User specified name corresponding to the associated boundary condition jBCType Indicator for type of prescribed variable 0 for displacement 1 for velocity and 2 for acceleration jDof nDof Indicato
194. ariable The second index K2 indicates the variable the temperature corresponds to index 1 and the predefined field variables correspond to indices 2 and above In cases where temperature is not defined the predefined field variables begin with index 1 The third index K3 indicates the local node number on the element 1 1 28 5 UELMAT PREDEF K1 1 K3 PREDEF K1 2 K3 PREDEF K1 3 K3 Etc PREDEF K1 K2 K3 PREDEF 1 K2 K3 PREDEF 2 K2 K3 PARAMS Temperature First predefined field variable Second predefined field variable Any other predefined field variable Total or incremental value of the K2th predefined field variable at the K3th node of the element Values of the variables at the end of the current increment Incremental values corresponding to the current time increment An array containing the parameters associated with the solution procedure The entries in this array depend on the solution procedure currently being used when UELMAT is called as indicated by the entries in the LFLAGS array see below For implicit dynamics LFLAGS 1 11 or 12 PARAMS contains the integration operator values as LFLAGS PARAMS 1 a PARAMS 2 B PARAMS 3 y An array containing the flags that define the current solution procedure and requirements for element calculations Detailed requirements for the various Abaqus Standard procedures are defined earlier in this section LFLAGS 1 LFLAGS 2 0 LFLA
195. ariables simultaneously NSECPT Maximum number of section values required for any node in the model The NSECPT can be 2 when only one field variable is specified at some non beam or non shell nodes in the model with contact KSTEP Step number KINC Increment number TIME 1 Current value of step time TIME 2 Current total time NODE Node number COORDS An array containing the coordinates of this node These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 ofthe Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the node 1 1 31 3 UFIELD TEMP NSECPT Current temperature at the node Ifuser subroutines UTEMP and UFIELDare both used user subroutine UTEMP is processed before user subroutine UFIELD DTEMP NSECPT Temperature increment at the node 1 1 31 4 UFLUID 1 1 32 UFLUID User subroutine to define fluid density and fluid compliance for hvdrostatic fluid elements Product Abaqus Standard References e Fluid cavity definition Section 11 5 2 of the Abaqus Analysis User s Manual e FLUID BEHAVIOR e UFLUID Section 4 1 17 of the Abaqus Verification Manual Overview User subroutine UFLUID is called for each cavitv for which a user defined fluid constitutive model is being specified e is called for every fluid element Surface based fluid cavities overview
196. ary fluid cavities at the beginning of the increment cvol 2 Volume of primary and secondary fluid cavities cmass 2 Mass of fluid in primary and secondary fluid cavities rMix 2 Gas constant of mixture in primary and secondary fluid cavities CpMix 2 Specific heat of mixture in primary and secondary fluid cavities DCpDtemp 2 Derivative of specific heat with respect to temperature for primary and secondary fluid cavities field nfieldv Field variables at orifice stateOld nstatev State variables for fluid exchange at the beginning of the increment 1 2 12 4 VUFLUIDEXCHEFFAREA 1 2 13 VUFLUIDEXCHEFFAREA User subroutine to define the effective area for fluid exchange Product Abaqus Explicit References e Fluid exchange definition Section 11 5 3 of the Abaqus Analysis User s Manual e FLUID EXCHANGE Overview User subroutine VUFLUIDEXCHEFFAREA e can be used to define an effective area for fluid exchange that depends on the material state in the underlying elements on the fluid exchange surface e will be called for blocks of material calculation points on the fluid exchange surface e can be used only if the specified surface over which the fluid exchange occurs is a surface defined over membrane elements and e can be used with any fluid exchange property type Defining effective area The contribution of each material point can be defined as a function of e the original area associat
197. at the end of the current increment jElem jElem kblock contains the element number for the kblock element adlmag adlmag kblock is the total load magnitude of the load type j dl typ integer identifying the load number for distributed load type Un distributed load at the end of the current increment for distributed loads of type Un predef An array containing the values of predefined field variables such as temperature in an uncoupled stress displacement analysis at the nodes of the element Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual The second index k2 indicates the local node number on the kblock element The third index k3 indicates the variable the temperature is stored if the index is 1 and the predefined field variables are stored if the indices are greater than or equal to 2 The fourth index of the array k4 is either 1 or 2 with 1 indicating the value of the field variable at the end of the increment and 2 indicating the value of the field variable at the beginning of the increment predef kblock k2 1 k4 Temperature predef kblock k2 2 k4 First predefined field variable predef kblock k2 3 k4 Second predefined field variable Etc Any other predefined field variable 1 2 10 5 VUEL predef kblock k2 k3 k4 predef kblock k2 k3 1 predef kblock k2 k3 2 lflags An arrav containing the flags that define the current solution procedure and requirements for eleme
198. ateNew nblock nstatev shift nblock 2 BWNH 1 2 19 1 VUTAS c character 80 cmname c do 100 k 1 nblock user coding to define shift k 1 and shift k 2 100 continue c return end Variable to be defined shift nblock 2 Array that defines the shift function A A gt 0 at the material points For material point k shift k 1 defines the shift function at the beginning of the increment and shift k 2 defines the shift function at the end of the increment Abaqus Explicit will apply an averaging scheme to these values that assumes that the natural logarithm of the shift function can be approximated bv a linear function over the increment Ifeither shift k 1 or shift k 2 is less than or equal to zero no time shift will be applied Variable that can be updated stateNew nblock nstatev Arrav containing the solution dependent state variables at the material points This arrav will be passed in containing the values of these variables at the start of the increment unless thev are updated in user subroutine VUSDFID in which case the updated values are passed in If any of the solution dependent state variables are being used in conjunction with the viscoelastic behavior thev must be updated in this subroutine to their values at the end of the increment Variables passed in for information nblock Number of material points to be processed in this call to VUTRS nstatev Number of user defined state variables that
199. ation of the constraint the dependent components of the total rotation vector must be defined exactly see Rotation variables Section 1 3 1 of the Abaqus Theory Manual You must provide at all times two items of information in subroutine MPC 1 A matrix of degree of freedom identifiers at the nodes that are listed in the corresponding multi point constraint definition The columns of this matrix correspond to ul u u etc in the set of constraints as given above where unused entries are padded with zeros The number of nonzero entries in u will implicitly determine the number of dependent degrees of freedom NDEP 2 The matrices representing the linearized constraint function with respect to the degrees of freedom involved These matrices are needed for the redistribution of loads from degrees of freedom ul to 1 1 14 9 MPC the other degrees of freedom and for the elimination of u from the system matrices For constraints that do not involve three dimensional rotations and constraints with planar rotations these matrices can be readily obtained from the derivatives of the total constraint function with respect to the degrees of freedom involved Of Of ofi zn ee Az For constraints that involve finite rotations the matrices follow from the linearized form 1 1 2 2 3 3 Al 60 42 60 A3 603 0 In addition you can provide the values of the dependent degrees of freedom ul as a function of the i
200. ave node but multiple contact points mav refer to the same slave node if it contacts a master surface at more than one point Each contact point mav be passed into the user subroutine independentiv in a given increment possiblv on separate calls to the user subroutine therefore vou mav end up advancing the state variables for the associated node multiple times for a single increment To keep track of whether or not a node state is advanced you may want to use one of the state variables exclusively for this purpose You could set that selected state variable to the current increment number and update the state only if it is not already set to the current increment number Variables passed in for information nBlock Number of contact points to be processed in this callto VFRICTION nBlockAnal 1 for analytical rigid master surface nBlock otherwise nBlockEdge nBlock for edge type slave surface 1 otherwise nNodState 1 for node to face contact and node to analytical rigid surface contact nNodSlv 1 for node to face and node to analytical rigid surface contact 2 for edge to edge contact nNodMst 1 for analytical rigid master surface 2 for edge type master surface 4 for facet type master surface nFricDir Number of tangent directions at the contact points nFricDir nDir 1 nDir Number of coordinate directions at the contact points equal to 3 1 2 6 5 VFRICTION nStates Number of user defined state variables
201. bations of the internal variables H and define RHS PN KNM 3M for output purposes Eigenfrequency extraction analysis LFLAGS 1 41 FN MNM GN uM aM MNM BGN OuM aM Abaqus Standard will solve KYMdM w MN o for dN and wi where KNM OFN du is the base state stiffness matrix and MN OFN M is the base state mass matrix LFLAGS 3 2 Define AMATRX KNM LFLAGS 3 4 Define AMATRX MNM Example Structural user element with Abaqus isotropic linearly elastic material Botha structural and a heat transfer user element have been created to demonstrate the usage of subroutine UELMAT These user defined elements are applied in a number of analyses The following excerpt illustrates how the linearly elastic isotropic material available in Abaqus can be accessed from user subroutine UELMAT USER ELEMENT TYPE U1 NODES 4 COORDINATES 2 VAR 16 INTEGRATION 4 TENSOR PSTRAIN 1 1 28 11 UELMAT 1 2 xELEMENT TYPE U1 ELSET SOLID 1 1 2 3 4 xUEL PROPERTV ELSET SOLID MATERIAL MAT xMATERIAL NAME MAT ELASTIC 7 00E 010 0 33 The user element defined above is a 4 node fully integrated plane strain element similar to the Abaqus CPE4 element The next excerpt shows the listing of the user subroutine Inside the subroutine a loop over the integration points is performed For each integration point the utility routine MATERIAL LIB MECH is called which returns stress a
202. be defined as the incremental dissipation due to creep effects in the interfacial constitutive behavior The units are energy per unit area This variable is used for output only and has no effect on other solution variables It contributes to the output variable ALLCD 1 1 38 4 UINTER PNEWDT Ratio of suggested new time increment to the time increment currently being used DTIME sec below This variable allows vou to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to UINTER If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard mav increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in the analvsis procedure va
203. be the time variation of the load and ignores any amplitude references that may appear with the associated step definition or nonuniform distributed load definition User subroutine interface SUBROUTINE DLOAD F KSTEP KINC TIME NOEL NPT LAYER KSPT 1 COORDS JLTYP SNAME INCLUDE ABA PARAM INC 1 1 5 1 DLOAD DIMENSION TIME 2 COORDS 3 CHARACTER 80 SNAME user coding to define F RETURN END Variable to be defined F Magnitude of the distributed load Units are FL for surface loads and FL for body forces F will be passed into the routine as the magnitude of the load specified as part of the element based or surface based distributed load definition If the magnitude is not defined F will be passed in as zero For a static analysis that uses the modified Riks method Static stress analysis Section 6 2 2 ofthe Abaqus Analysis User s Manual F must be defined as a function of the load proportionality factor A The distributed load magnitude is not available for output purposes Variables passed in for information KSTEP Step number KINC Increment number TIME 1 Current value of step time or current value of the load proportionality factor A in a Riks step TIME 2 Current value of total time NOEL Element number NPT Load integration point number within the element or on the element s surface depending on the load type Stiffness integration point number while computing effectiv
204. ber of nodes given in the corresponding multi point constraint definition JTYPE Constraint identifier given for the corresponding multi point constraint definition X 6 N An array containing the original coordinates of the nodes involved in the constraint U MAXDOF N An array containing the values of the degrees of freedom at the nodes involved in the constraint These values will either be the values at the end of the previous iteration or the current values based on the linearized constraint equation depending at which stage of the iteration the user subroutine is called UINIT MAXDOF N An arrav containing the values at the beginning of the current iteration of the degrees of freedom at the nodes involved in the constraint This information is useful for decision making purposes when you do not want the outcome of a decision to change during the course of an iteration For example there are constraints in which the degrees of freedom to be eliminated change during the course of the analvsis but it is necessarv to prevent the choice of the dependent degrees of freedom from changing during the course of an iteration 1 1 14 12 MPC MAXDOF Maximum degree of freedom number at anv node in the analvsis For example for a coupled temperature displacement analvsis with continuum elements MAXDOF is equal to 11 KSTEP Step number KINC Increment number within the step TIME 1 Current value of step time TIME 2 Current value
205. between single quotes should be concatenated using the double forward slash operator Integer real and character variables can be referenced inside the message using the I R and S inserts respectively The integer real or character variables are passed into the utility routine via 2 1 14 1 PRINTING MESSAGES the INTV REALV and CHARV variables respectivelv The variables are then output in the order thev are stored in these arravs INTV Array of integer variables to be output The first I in STRING will output INTV 1 the second INTV 2 and so on REALV Array of real variables to be output The first R in STRING will output REALV 1 the second REALV 2 and so on CHARV Array ofat most 8 character long variables to be output The first S in STRING will output CHARV 1 the second CHARV 2 and so on 2 1 14 2 TERMINATING AN ANALVSIS 2 1 15 TERMINATING AN ANALVSIS Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e UMAT and UHYPER Section 4 1 21 of the Abaqus Verification Manual e UWAVE and UEXTERNALDB Section 4 1 27 of the Abaqus Verification Manual e VUMAT rotating cylinder Section 4 1 37 of the Abaqus Verification Manual Overview Utilitv routines XIT and XPLB EXIT can be called from within anv Abaqus Standard or Abaqus Explicit user subroutine respectivelv except UEXTERNALDB to
206. bles If GETVRMAVGATNODE is used to access solution dependent state variables output variable key SDV and more than 15 solution dependent state variables have been defined in the analysis the dimension statement for ARRAY must be changed so that these arrays are dimensioned to the maximum number of solution dependent state variables Unsupported element types and output variable keys Since this 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 e DASHPOTx e SPRINGx e CONNxDx e FRAMExD e JOINTC e JOINTxD e DRAGxD e PSIxx e ITSxxx e MASS e ROTARYI 2 1 8 3 MATERIAL POINT INFORMATION AT A NODE e all acoustic elements e all hvdrostatic fluid elements The following output variable kevs are not available for use with GETVRMAVGATNODE e SVOL e TSHR e CTSHR Example Obtaining plastic strain results To illustrate the use of GETVRMAVGATNODE consider a case where the identifier PE is specified and JELEMLIST lists four threc dimensional elements two of which have plastic vield behavior defined and two of which do not ARRAY will be returned with the individual plastic strain components PELL PE22 PE33 PE12 PE13 and PE23 the equivalent plastic strain PEEQ and the plastic strain magnitude PEMAG The result returned in ARRAY will be an average reflecting extrapolations of plas
207. by the tensor which has initial values of zero The stress difference is the stress measured from the center of the yield surface and is given by S a The von Mises vield surface is defined as fle 36i t 03 where oo is the uniaxial equivalent yield stress The von Mises yield surface is a cylinder in deviatoric stress space with a radius of 2 R 4 00 Var For the kinematic hardening model R is a constant The normal to the Mises yield surface can be written as 3 Q ca To We decompose the strain rate into an elastic and plastic part using an additive decomposition e e tE The plastic part of the strain rate is given by a normality condition e 4Q where the scalar multiplier 7 must be determined A scalar measure of equivalent plastic strain rate is defined by 2 a fel ext 3 1 2 17 9 VUMAT The stress rate is assumed to be purelv due to the elastic part of the strain rate and is expressed in terms of Hooke s law bv Mrace I Que where A and 24 are the Lam s constants for the material The evolution law for is given as 2 where His the slope of the uniaxial yield stress versus plastic strain curve During active plastic loading the stress must remain on the yield surface so that Q Q 1 The equivalent plastic strain rate is related to y by spl 2 ea The kinematic hardening constitutive model is integrated in a rate form as follows A trial elastic stress
208. c g coord24 1 kintk gaussCoord h coord24 2 kintk gaussCoord c c shape functions shape 1 one g one h four shape 2 one g one h four shape 3 one 4 g one h four shape 4 one g one h four c c derivative d Ni d g dshape 1 1 one h four dshape 1 2 one h four dshape 1 3 dshape 1 4 one h our one h four 1 1 28 14 a a a UELMAT derivative d Ni d h dshape 2 1 one g four dshape 2 2 one 4 g four dshape 2 3 one 4 g four dshape 2 4 one g four compute coordinates at the integration point do kl 1 3 coords ip ki zero end do do kl 1 nnode do k2 1 mcrd coords ip k2 coords ip k2 shape k1 coords k2 k1 end do end do INTERPOLATE FIELD VARIABLES if npredf gt 0 then do kl 1 npredf predef loc ki zero dpredef loc ki zero do k2 1 nnode predef loc ki predef loc k1 predef 1 k1 k2 predef 2 k1 k2 shape k2 dpredef loc ki dpredef loc kl predef 2 k1 k2 shape k2 end do end do end if FORM B MATRIX djac one do i 1 ndim do j 1 ndim xjac i j zero 1 1 28 15 UELMAT xjaci i j zero end do end do do inod 1 nnode do idim 1 ndim do jdim 1 ndim xjac jdim idim xjac jdim idim dshape jdim inod coords idim inod end do end do end do djac xjac 1 1 xjac 2 2 xjac 1 2 xjac 2 1 if djac gt zero then jac
209. cable only for node to face contact spd nBlock This array can be updated to contain the increment in plastic dissipation at each proximity point units of energy per unit area These values contribute to the output variables SFDR and ALLPD and have no effect on other solution variables The use of this variable is applicable only for node to face contact svd nBlock This array can be updated to contain the increment in viscous dissipation at each proximity point units of energy per unit area These values contribute to the output variables SFDR and ALLVD and have no effect on other solution variables The use of this variable is applicable only for node to face contact Variables passed in for information nBlock Number of proximity points to be processed in this call to VUINTERACTION nBlockAnal 1 for analytical rigid master surface nBlock otherwise nBlockEdge nBlock for edge type slave surface otherwise nNodState 1 for node to face and node to analytical rigid surface contact not applicable for edge to edge contact nNodSlv 1 for node to face and node to analytical rigid surface contact 2 for edge to edge contact 1 2 16 6 VUINTERACTION nNodMst 1 for analytical rigid master surface 2 for edge type master surface 4 for facet type master surface nDir Number of coordinate directions at the proximity points equal to 3 nStates Number of user defined state variables nProps User specified number of property
210. cal length of a line across an element for a first order element it is half of the same typical length for a second order element For beams and trusses it is a characteristic length along the element axis For membranes and shells it is a characteristic length in the reference surface For axisymmetric elements it is a characteristic length in the r z plane only For cohesive elements it is equal to the constitutive thickness DFGRDO 3 3 Array containing the deformation gradient at the beginning of the increment If a local orientation is defined at the material point the deformation gradient components are expressed in the local coordinate system defined by the orientation at the beginning of the increment For a discussion regarding the availability of the deformation gradient for various element types see Availability of deformation gradient DFGRD1 3 3 NOEL NPT Array containing the deformation gradient at the end of the increment If a local orientation is defined at the material point the deformation gradient components are expressed in the local coordinate system defined by the orientation This array is set to the identity matrix if nonlinear geometric effects are not included in the step definition associated with this increment For a discussion regarding the availability of the deformation gradient for various element types see Availability of deformation gradient Element number Integration point number
211. can use this time information to perform possible time dependent field variable operations COORDS 3 NBLOCK Coordinates for nodes in the array JNODEUID This array stores current coordinates of nodes in which the order of coordinates stored corresponds to the order of nodes listed in the array JNODEUID The 1 2 11 4 VUFIELD coordinates can be retrieved by using the parameters given above You can make use of COORDS to define possible position dependent field variable operations U 8 NBLOCK V 8 NBLOCK and A 8 NBLOCK Arravs containing solution variables of displacements rotations temperatures and pressures and their corresponding temporal derivatives The order in which these solutions are stored follows the order defined in the array JNODEUID For a specific node its solution variables can be retrieved by using the parameter indices given above Depending on the degrees of freedom some solution variables are not valid for a given node 1 2 11 5 VUFLUIDEXCH 1 2 12 VUFLUIDEXCH User subroutine to define the mass flow rate heat energy flow rate for fluid exchange Product Abaqus Explicit References e Fluid exchange definition Section 11 5 3 of the Abaqus Analysis User s Manual e FLUID EXCHANGE e FLUID EXCHANGE ACTIVATION e FLUID EXCHANGE PROPERTY Overview User subroutine VUFLUIDEXCH e can be used to define mass flow rate and or heat energy flow rate for fluid exchange e can be used when built i
212. ce Fluid pressure compliance is defined as C dp __ 9dp p dp p dp where p is the fluid cavitv pressure Fluid temperature compliance Cg This variable is needed only ifa fluid temperature excursion occurs in a linear perturbation step and is the base state compliance Fluid temperature compliance is defined as _ dp _odp re e where is the fluid cavity temperature Variables that can be updated PNEWDT Ratio of suggested new time increment to the time increment being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to UFLUID If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard mav increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value
213. ce For the last case element based master surface the tangential directions follow the rotation of the master surface only approximatelv The second tangential direction is constructed such that it is perpendicular to the slave normal and the line going from the first to the third node on the master facet The slave normal the first tangent and the second tangent form a right handed system Conventions for stress and heat flux A positive normal stress denotes a pressure directed into the surface opposite the local normal direction Positive shear stresses denote shear tractions in the direction of the local surface tangents A positive flux indicates heat flowing into a surface and a negative flux denotes heat leaving the surface Flux must be specified for both surfaces and they need not be equal and opposite so that effects such as frictional dissipation and differential surface heating can be modeled User subroutine interface subroutine vuinteraction C Read Write stress fluxSlv fluxMst state sed C Write only sfd scd spd svd C Read only nBlock nBlockAnal nBlockEdge nNodState nNodSlv nNodMst nDir nStates nProps nTemp nFields jFlags rData surfInt surfSlv surfMst jSlvUid jMstUid props penetration drDisp dRot dircos stiffDef conductDef coordSlv coordMst areaProx shapeSlv shapeMst tempSlv tempMst dTempSlv dTempMst fieldSlv fieldMst dFieldSlv dFieldMst
214. ch node units of energy per unit area These values contribute to the output variables SFDR and ALLVD and have no effect on other solution variables sed nSlvNod On entry this array contains the elastic energy density at the slave nodes at the beginning of the increment It can be updated to contain the elastic energy density at the end of the current time increment These values contribute to the output variable ALLSE and have no effect on other solution variables statev nstateVar nSlvNod This array contains the user defined solution dependent state variables for all the nodes on the slave surface You define the size of this array see User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual for more information This array will be passed in containing the values of these variables prior to the call to user subroutine VUINTER If any of the solution dependent state variables is being used in conjunction with the surface interaction it must be updated in this subroutine 1 2 15 4 VUINTER Variables passed in for information kStep Step number kInc Increment number nFacNod Number of nodes on each master surface facet nFacNod is 2 for two dimensional surfaces and nFacNod is 4 for three dimensional surfaces the first and last nodes are the same for triangular facets If the master surface is an analytical rigid surface this variable is passed in as 0 nSlvNod Number
215. ck nfieldv stateOld nblock nstatev enerInelasOld nblock stretchNew nblock ndir nshr 1 2 3 4 5 6 7 8 8 9 fieldNew nblock nfieldv 1 stressNew nblock ndir nshr 2 enerInternNew nblock character 80 cmname do 100 km user coding 100 continue 1 nblock return end 1 2 17 5 nfieldv cmname relSpinInc stretchold defgradold enerInternOld defgradNew enerInternNew density nblock strainInc nblock ndir nshr tempOld nblock nprops lanneal coordMp charLength fieldold enerInelasOld fieldNew enerInelasNew defgradold nblock ndir nshr nshr stressold nblock ndir nshr enerInternOld nblock tempNew nblock defgradNew nblock ndir nshr nshr stateNew nblock nstatev enerInelasNew nblock coordMp nblock VUMAT Variables to be defined stressNew nblock ndir nshr Stress tensor at each material point at the end of the increment stateNew nblock nstatev State variables at each material point at the end of the increment You define the size of this array by allocating space for it see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information Variables that can be updated enerInternNew nblock Internal energy per unit mass at each material point at the end of the increment enerInelasNew nblock Dissipated inelastic energy per unit mass at each material point at the end of th
216. clockwise rotation around the normal vector that defines the orientation Ifno orientation is used T is an identity matrix Orientation is not available for beam elements CELENT Characteristic element length This is a typical length of a line across an element for a first order element it is half of the same typical length for a second order element For beams and trusses it is a characteristic length along the element axis For membranes and shells it is a characteristic length in the reference surface For axisymmetric elements it is a characteristic length in the r z plane only TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment 1 1 49 4 USDFLD DTIME Time increment CMNAME User specified material name left justified ORNAME User specified local orientation name left justified NFIELD Number of field variables defined at this material point NSTATV User defined number of solution dependent state variables see Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual NOEL Element number NPT Integration point number LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer KSTEP Step number KINC Increment number NDI Number of direct stress components at this point NSHR Number of shear
217. component array NDI NSHR NSTATV Number of solution dependent state variables that are associated with this material type defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual PROPS NPROPS User specified array of material constants associated with this user material NPROPS User defined number of material constants associated with this user material 1 1 40 8 UMAT COORDS DROT An arrav containing the coordinates of this point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point 3 3 Rotation increment matrix This matrix represents the increment of rigid body rotation of the basis system in which the components of stress STRESS and strain STRAN are stored It is provided so that vector or tensor valued state variables can be rotated appropriately in this subroutine stress and strain components are already rotated by this amount before UMAT is called This matrix is passed in as a unit matrix for small displacement analysis and for large displacement analysis if the basis system for the material point rotates with the material as in a shell element or when a local orientation is used CELENT Characteristic element length which is a typi
218. contact area at a contact point depends on the number of contact points currently associated with the same slave node A contact point contributes a frictional stress to the associated slave node that is equal to fTangential 1 k divided by areaCont k dircosN nDir nBlock Direction cosines of the normals to the master surface at the contact points dirCosS1 nDir nBlock Direction cosines of the incremental slip at the contact points The direction cosines are undefined all components zero if the incremental frictional slip is zero 1 2 6 7 VFRICTION shapeSlv nNodSlv nBlockEdge For edge to edge contact this arrav contains the shape functions of the nodes of its slave edge evaluated at the location of the contact point If the contact is not edge to edge this array is passed in as a dummy array shapeMst nNodMst nBlockAnal For node to face and edge to edge contact this array contains the shape functions of the nodes of its master surface evaluated at the location of the contact point If the master surface is an analytical rigid surface this array is passed in as a dummy array coordSlv nDir nNodSlv nBlock Arrav containing the nDir components of the current coordinates of the contact points coordMst nDir nNodMst nBlockAnal Array containing the nDir components of the current coordinates of the master nodes associated with the contact points If the master surface is an analytical rigid surface this array is passed in as
219. creep OAES OES e Gasket creep DAet7 0eT7 DECRA 3 The definition depends on the usage e Metal creep JQAET OESU e Drucker Prager creep gasket creep and capped Drucker Prager creep 0 DECRA 4 The definition depends on the usage e Metal creep AAE Op e Drucker Prager creep gasket creep and capped Drucker Prager creep 0 DECRA 5 The definition depends on the usage e Metal creep JAET 0 e Drucker Prager creep AAE Oa e Capped Drucker Prager creep OAES 0a e Gasket creep Ae Oc DESWA 2 The definition depends on the usage e Metal creep QAES7 0ET7 e Drucker Prager creep gasket creep and capped Drucker Prager creep 0 DESWA 3 The definition depends on the usage e Metal creep INA2 3E e Capped Drucker Prager creep HAZET OE e Drucker Prager and gasket creep 0 DESWA 4 The definition depends on the usage 1 1 1 8 CREEP e Metal creep AAE Op e Capped Drucker Prager creep OAE 3p e Drucker Prager and gasket creep 0 DESWA 5 The definition depends on the usage e Metal creep OAE 0G e Drucker Prager creep gasket creep and capped Drucker Prager creep 0 Variables that can be updated STATEV An array containing the user defined solution dependent state variables at this point This array will be passed in containing the values of these variables at the start of the increment unless they are updated in user subr
220. critical shear rate at which the fluid changes from Newtonian to power law behavior The subroutine would be coded as follows subroutine vuviscosity C Read only nblock jElem kIntPt kLayer kSecPt stepTime totalTime dt cmname nstatev nfieldv nprops props tempOld tempNew fieldold fieldNew stateOld shrRate C Write only viscosity stateNew include vaba param inc dimension props nprops tempOld nblock fieldold nblock nfieldv stateOld nblock nstatev shrRate nblock tempNew nblock fieldNew nblock nfieldv viscosity nblock stateNew nblock nstatev x character 80 cmname parameter one 1 d0 Cc Cross viscosity eta0 rlambda rn props 1 props 2 props 3 do k 1 nblock viscosity k eta0 one rlambda shrRate k one rn end do 1 2 20 4 return end 1 2 20 5 VUVISCOSITY 1 2 21 VWAVE VWAVE User subroutine to define wave kinematics for an Abaqus Aqua analysis Products Abaqus Explicit Abaqus Aqua References e Abaqus Aqua analysis Section 6 11 1 of the Abaqus Analysis User s Manual e WAVE Overview User subroutine VWAVE e will be called for a collection of points typically load integration points for which an Abaqus Aqua load and a user defined gravity wave are specified can be used to define wave kinematics to provide unsteady contributions to fluid variables such
221. cteristics The entries in the first row contain the negatives of the derivatives of FLUX 1 with respect to TEMP 1 and TEMP 2 respectivelv The entries in the second row contain the negatives of the corresponding derivatives of FLUX 2 DDSDDT NDIR 2 Variation of the stress with respect to the temperatures of the two surfaces for a fixed relative displacement This variable is required only for thermally coupled elements in a fully coupled temperature displacement or a coupled thermal electrical structural analysis in which the stress is a function of the surface temperatures DDSDDT NDIR 1 corresponds to the slave surface and DDSDDT NDIR 2 corresponds to the master surface DDFDDR 2 NDIR Variation of the flux with respect to the relative displacement between the two surfaces This variable is required only for thermally coupled elements in a fully coupled temperature displacement or a coupled thermal electrical structural analysis in which the flux is a function of the relative displacement DDFDDR 1 NDIR corresponds to the slave surface and DDFDDR 2 NDIR corresponds to the master surface Variables that can be updated DVISCOUS NDIR NDIR Interface viscous damping matrix that can be used only in direct steady state dynamic analysis DVISCOUS I J defines an element in the material viscous damping matrix at the current frequency Abaqus Standard requires that this element is defined as a damping value for each of th
222. ctions with respect to the in plane axes of an orthogonal orientation system at a material point Both the local directions and the orthogonal system are defined together as a single orientation definition Ifthe local directions are not specified these directions are assumed to match the in plane axes ofthe orthogonal system The local direction may not remain orthogonal with deformation Abaqus updates the local directions with deformation and computes the nominal strains along these directions and the drop in angle between them the fabric engineering shear strain The constitutive behavior for the fabric defines the fabric nominal stresses as a function of the fabric strains Abaqus converts these fabric stresses into the Cauchy stress and the resulting internal forces Material point deletion Material points that satisfy a user defined failure criterion can be deleted from the model see User defined mechanical material behavior Section 25 7 1 ofthe Abaqus Analysis User s Manual You must specify the state variable number controlling the element deletion flag when you allocate space for the solution dependent state variables as explained in Fabric material behavior Section 22 4 1 of the Abaqus Analysis User s Manual The deletion state variable should be set to a value of one or zero in user subroutine VFABRIC A value of one indicates that the material point is active while a value of zero indicates that Abaqus Explicit should
223. d e ignores any amplitude references that may appear with the associated step definition or nonuniform distributed volume current density definition User subroutine interface subroutine udecurrent C Write only bodycurrent C Read only predef coords nBlock i arrav niarray r arrav nrarrav c arrav ncarrav include aba param inc dimension bodycurrent nBlock predef nBlock 2 4 coords nBlock i_array r_array Kxa xXx character 80 c_array 1 1 23 1 UDECURRENT parameter i udecurr kstep 1 i udecurr kinc 2 i udecurr noel 3 i udecurr npt 4 i udecurr jltyp 5 i udecurr phase 6 i udecurr proc 7 i udecurr nfld 8 c parameter ir udecurr time 1 1 ir udecurr time 2 2 c parameter i jltyp cj 1 c parameter i proc if th 1 c parameter i udecurr phase real 1 x i udecurr phase imag 72 c user coding to define bodycurrent return end Variable to be defined bodycurrent nBlock Components of the body current density vector for a block of load integration points The units are CL T bodycurrent will be passed into the routine as the vector specified as part of the element based distributed volume current density definition If the vector is not defined bodycurrent will be passed in as zero Variables passed in for information predef 2 An array containing values of temperature and all the predefined fie
224. d in from UFIELD and interpolated to the material points can be modified such changes are local to material point values and nodal field variable values remain unaffected Updating field variables Two different methods are provided for updating field variables Individual variable updates By default only one field variable at a time can be updated in user subroutine UFIELD In this case the user subroutine will be called whenever a current value of a field variable is needed for a node that is listed in the specified field variable definition This method can be used only for cases in which the field variables are independent of each other Simultaneous variable updates For cases in which the field variables depend on each other multiple possibly all field variables at a point can be updated simultaneously in user subroutine UFIELD In this case you must specify the number of field variables to be updated simultaneously at a point and the user subroutine will be called each time the current field variable values are needed 1 1 31 1 UFIELD User subroutine interface SUBROUTINE UFIELD FIELD KFIELD NSECPT KSTEP KINC TIME NODE 1 COORDS TEMP DTEMP NFIELD 6 INCLUDE ABA PARAM INC C DIMENSION FIELD NSECPT NFIELD TIME 2 COORDS 3 1 TEMP NSECPT DTEMP NSECPT C user coding to define FIELD RETURN END Variable to be defined FIELD NSECPT NFIELD Array of predefined field variable values at
225. d VUANISOHXPER INV Section 4 1 13 of the Abaqus Verification Manual Overview User subroutine VUANISOHYPER_INV e can be used to define the strain energy potential of anisotropic hyperelastic materials as a function of an irreducible set of scalar invariants e will be called for blocks of material calculation points for which the material definition contains user defined anisotropic hyperelastic behavior with invariant based formulation Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e can use and update solution dependent state variables e can use any field variables that are passed in and e requires that the values of the derivatives of the strain energy density function be defined with respect to the scalar invariants Enumeration of invariants To facilitate coding and provide easy access to the array of invariants passed to user subroutine VUANISOHYPER_INV an enumerated representation of each invariant is introduced Any scalar invariant can therefore be represented uniquely by an enumerated invariant I where the subscript n denotes the order of the invariant according to the enumeration scheme in the following table Invariant Enumeration n qT 1 Tp 2 3 Isap 4 2 a 1 66 1 a lt B T a a 2 o 1 FAT as f 1 2 8 1 VUANISOHVPER INV For example in the case of three families of fibers there are a total of 15 invariants J4 Io J six i
226. d and element based films NODE Node number This variable is passed in as zero for both element based and surface based films AREA Nodal area for node based films AREA will be passed into the routine as the nodal area specified as part of the node based film coefficient specification This nodal area is not available for output purposes This variable is passed in as zero for both element based and surface based films 1 1 6 3 FLOW 1 1 7 FLOW User subroutine to define nonuniform seepage coefficient and associated sink pore pressure for consolidation analvsis Product Abaqus Standard References e Pore fluid flow Section 32 4 7 of the Abaqus Analysis User s Manual e FLOW e SFLOW Overview User subroutine FLOW e canbe used ina soils consolidation analysis to define the variation of the reference pore pressure and the seepage coefficient as functions of position time pore pressure element number integration point number etc e willbecalled at each integration point of element surfaces for which element based or surface based nonuniform surface seepage flow is defined and e ignores any amplitude references that may appear with the associated nonuniform flow definition User subroutine interface SUBROUTINE FLOW H SINK U KSTEP KINC TIME NOEL NPT COORDS 1 JLTYP SNAME INCLUDE ABA PARAM INC DIMENSION TIME 2 COORDS 3 CHARACTER 80 SNAME user coding to define H and SINK RETURN END
227. d with each element The number of such variables is nsvars see below You define the meaning of these variables This array is passed into VUEL containing the values of these variables at the start of the current increment In most cases they should be updated to be the values at the end of the increment In rare cases such an update is not required energy The array energy contains the values of the energy quantities associated with each element The values in this array when VUEL is called are the element energy quantities at the start of the current 1 2 10 3 VUEL increment Thev should be updated to the correct values at the end of the current increment otherwise plots of the energy balance for the entire model will not be accurate Depending on the element formulation manv of these energies could be zero at all times The entries in the arrav are as follows energv nblock iE1Pd energy nblock iElCd energy nblock iElIe energy nblock iE1Ts energy nblock iE1Dd energy nblock iE1Bv energy nblock iElDe energy nblock iElHe energy nblock iElKe energy nblock iE1Th energy nblock iE1Dmd energy nblock iElDc Plastic dissipation Creep dissipation Internal energy Transverse shear energy Material damping dissipation Bulk viscosity dissipation Drill energy Hourglass energy Kinetic energy Heat energy Damage dissipation Distortion control energy Variables passed in for info
228. d with the translational degrees of freedom for a particular node must be diagonal Moreover these diagonal entries must be equal to each other e There must be no coupling off diagonal entries specified between degrees of freedom of different kinds For example you cannot specify nonzero mass matrix entries to couple the translational degrees of freedom to the rotational degrees of freedom e There must be no coupling off diagonal entries specified between degrees of freedom belonging to different nodes You must be using appropriate lumping techniques to provide a mass matrix that follows these requirements For the rotational degrees of freedom at a particular node in three dimensional analyses you can specify a fully populated symmetric 3 x 3 inertia tensor Usage with general nonlinear procedures The following illustrates the use in explicit dynamic procedures 1 2 10 8 vueL Direct integration explicit dynamic analysis 1flags iProcedure 17 e Automatic updates for degrees of freedom 1 6 8 and 11 e The governing equations are as described in Explicit dynamic analysis Section 6 3 3 of the Abaqus Analysis User s Manual e Coding for the operational code 1flags iOpCode jExternForceis optional 8 p Transient fully coupled thermal stress analysis 1flags iProcedure 74 e Automatic updates for degrees of freedom 1 6 and 8 e The governing equations are as described in Fully coupled thermal stress a
229. daptive meshing 1 1 42 UMOTION Specify motions during cavity radiation heat transfer analysis or steady state transport analysis 1 1 43 UMULLINS Define damage variable for the Mullins effect material model 1 1 44 UPOREP Define initial fluid pore pressure 1 1 45 UPRESS Specify prescribed equivalent pressure stress conditions 1 1 46 UPSD Define the frequency dependence for random response loading 1 1 47 URDFIL Read the results file 1 1 48 USDFLD Redefine field variables at a material point 1 1 49 UTEMP Specify prescribed temperatures 1 1 50 UTRACLOAD Specify nonuniform traction loads 1 1 51 UTRS Define a reduced time shift function for a viscoelastic material 1 1 52 UVARM Generate element output 1 1 53 UWAVE Define wave kinematics for an analysis 1 1 54 VOIDRI Define initial void ratios 1 1 55 Abaqus Explicit subroutines VDISP Specify prescribed boundary conditions 1 2 1 VDLOAD Specify nonuniform distributed loads 1 2 2 VFABRIC Define fabric material behavior 1 2 3 VFRIC Define frictional behavior for contact surfaces 1 2 4 VFRIC_COEF Define the frictional coefficient for contact surfaces 1 2 5 VFRICTION Define frictional behavior for contact surfaces 1 2 6 VUAMP Specify amplitudes 1 2 7 CONTENTS VUANISOHXPER INV Define anisotropic hvperelastic material behavior using the invariant formulation 1 2 8 VUANISOHXPER STRAIN Define anisotropic hvperelastic material behavior based on Green strain 1 2
230. defined nFields Number of user specified field variables jFlag 1 Step number jFlag 2 Increment number 1 1 9 2 FRIC COEF rData 1 Value of step time rData 2 Value of total time rData 3 Current increment in time from t teurr At to t teurr surfint User specified surface interaction name left justified surfSlv Slave surface name left justified surfMst Master surface name left justified props nProps User specified vector of property values to define the frictional coefficient at the contact point slipRate nBlock This array contains the rate of tangential slip at the contact point for the current time increment pressure nBlock This array contains the pressure at the contact point projected at the end of the current time increment tempS1v nBlock Average current temperature between the master and slave surfaces at the contact point fieldSlv nFields nBlock Average current value of all the user specified field variables between the master and slave surfaces at the contact point 1 1 9 3 GAPCON 1 1 10 GAPCON User subroutine to define conductance between contact surfaces or nodes in a fully coupled temperature displacement analysis coupled thermal electrical structural analvsis or pure heat transfer analvsis Product Abaqus Standard References e Thermal contact properties Section 35 2 1 of the Abaqus Analysis User s Manual e GAP CONDUCTANCE e
231. delete the material point from the model by setting the stresses to zero The structure ofthe block of material points passed to user subroutine VFABRIC remains unchanged during the analysis deleted material points are not removed from the block Abaqus Explicit will pass zero stresses and strain increments for all deleted material points Once a material point has been flagged as deleted it cannot be reactivated 1 2 3 2 VFABRIC User subroutine interface c Q AARAANNMAAN Q AAAN subroutine vfabric Read only unmodifiable variables 1 nblock ndim npt layer kspt kstep kinc 2 nstatev nfieldv nprops 3 10p jElem stepTime totalTime dt cmname coordMp 4 charLength props density braidAngle fabricStrain 5 fabricStraininc 6 tempOld fieldold fabricStressold stateOld 7 tempNew fieldNew enerintern Write only modifiable variables 8 fabricStressNew stateNew enerInelas NOTE In addition to the above Write only variables the thickness direction component of fabricStrainInc i e fabricStrainInc ndirStrain may also be set by the user for changing thickness as a function of material in plane state include vaba param inc parameter ndirStrain 3 nshr 1 ndirStress 2 NOTE The constants defined above are used for array dimensions below dimension jElem nblock coordMp nblock ndim charLength nblock props nprops density nblock braidAngle nblock fabricStrain nbl
232. dentifiers Section 4 2 1 of the Abaqus Analvsis User s Manual Accessing material point data You are provided with access to the values of the material point quantities at the start of the increment or in the base state in a linear perturbation step through the utility routine GETVRM described in Obtaining material point information in an Abaqus Standard analysis Section 2 1 6 The values of the material point quantities are obtained bv calling GETVRM with the appropriate output variable kevs The values of the material point data are recovered in the arravs ARRAY JARRAY and FLGRAY for floating point integer and character data respectivelv You may not get values of some material point quantities that have not been defined at the start of the increment e g ER State variables Since the redefinition of field variables in USDFLD is local to the current increment field variables are restored to the values interpolated from the nodal values at the start of each increment any history dependence required to update material properties by using this subroutine must be introduced with user defined state variables The state variables can be updated in USDFLD and then passed into other user subroutines that can be called at this material point such as those listed above You specify the number of such state variables as shown in the example at the end of this section see also Allocating space in User subroutines ov
233. dge based or surface based nonuniform distributed traction load definition during stress analysis cannot be used in mode based procedures to describe the time variation of the load and ignores any amplitude references that may appear with the associated step definition or nonuniform distributed traction load definition User subroutine interface SUBROUTINE UTRACLOAD ALPHA T USER KSTEP KINC TIME NOEL NPT 1 COORDS DIRCOS JLTYP SNAME INCLUDE ABA PARAM INC DIMENSION T_USER 3 TIME 2 COORDS 3 DIRCOS 3 3 CHARACTER 80 SNAME user coding to define ALPHA and T USER RETURN END 1 1 51 1 UTRACLOAD Variables to be defined ALPHA Magnitude of the distributed traction load Units are FL for surface loads FL for edge loads and F for edge moments ALPHA is passed into the routine as the magnitude of the load specified as part of the element based or surface based distributed load definition If the magnitude is not defined ALPHA is passed in as zero For a static analysis that uses the modified Riks method Unstable collapse and postbuckling analysis Section 6 2 4 of the Abaqus Analysis User s Manual ALPHA must be defined as a function of the load proportionality factor A The distributed load magnitude is not available for output purposes T USER Loading direction of the distributed traction load T USER is passed into the routine as the load direction specified as part of the element based or s
234. ding temperature For user elements Abaqus Standard uses one value for each field variable per node MATERIALLIB A variable that must be passed to the utilitv routines performing material point computations UELMAT conventions The solution variables displacement velocitv 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 Usage with general nonlinear procedures The values of u and in direct integration dynamic steps i and ii NV enter user subroutine UELMAT as their latest approximations at the end of the time increment that is at time t At The values of H enter the subroutine as their values at the beginning of the time increment that is at time t It is your responsibility to define suitable time integration schemes to update H To ensure accurate stable integration of internal state variables you can control the time incrementation via PNEWDT The values of pf enter the subroutine as the values of the total load magnitude for the th distributed load at the end of the increment Increments in the load magnitudes are also available In the following descriptions of the user element s requirements it will be assumed that LFLAGS 3 1 unless otherwise stated Static analysis LFLAGS 1 1 2 e FN FN GM He e Automatic convergence checks are applied to the force residuals corresponding to degre
235. direction is the tangent direction defined by the cross product of the vector into the plane of the model 0 0 1 0 and the slave normal For a three dimensional VUINTER model the second and third local directions correspond to two orthogonal tangent directions ti and t2 which are set as follows 1 2 15 1 VUINTER e If the master surface is a cvlindrical analvtical surface the second local direction corresponds to the generator direction see Analvtical rigid surface definition Section 2 3 4 of the Abaqus Analvsis User s Manual and the third local direction is the cross product of the first and second local directions e If the master surface is an analytical surface of revolution the third local direction corresponds to the hoop direction and the second local direction is the cross product of the third and first local directions e If the master surface is a three dimensional element based surface the tangent directions are based on the slave normal using the standard convention for calculating surface tangents see Conventions Section 1 2 2 of the Abaqus Analysis User s Manual For the two cases listed above involving three dimensional analytical surfaces the local tangent directions will reflect a rotation of the master surface For the last case three dimensional element based master surface the tangent directions may not follow the rotation of either the master or slave surfaces for example the local sys
236. draulic iAdiabaticGas iIsothermalGas H Mm l WNHh es ss character 80 fluExchName c User coding to calculate mass flow rate heat energy flow rate and its derivatives with respect c to fluid cavity pressure and temperature a return end Variables to be defined rMassRate Mass flow rate The mass flow rate is negative if the flow is into the primary cavity DMassRateDPcav 2 Derivative of mass flow rate with respect to pressure in primary and secondary fluid cavities DMassRateDTemp 2 Derivative of mass flow rate with respect to temperature in primary and secondary fluid cavities rEneRate Heat energy flow rate The energy flow rate is negative if the flow is into the primary cavity 1 2 12 2 VUFLUIDEXCH DEneRateDPcav 2 Derivative of heat energy flow rate with respect to pressure in primary and secondary fluid cavities DEneRateDTemp 2 Derivative of heat energy flow rate with respect to temperature in primary and secondary fluid cavities Variable that can be updated stateNew nstatev State variable for fluid exchange at the end of the increment You define the size of this array by allocating space for it see Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual for more information Variables passed in for information nstatev Number of user defined state variables that are associated with this fluid exchange you define this as describ
237. e USER OUTPUT VARIABLES NUVARM Output precision The data are provided in double precision for output to the data dat and results 11 files and are written to the output database odb file in single precision Because the user provides UVARM output variables in double precision numeric overflow errors related to output to the output database file may occur in cases where the output results exceed the capacity for single precision representation even when no overflow errors occur in UVARM User subroutine interface SUBROUTINE UVARM UVAR DIRECT T TIME DTIME CMNAME ORNAME 1 NUVARM NOEL NPT LAYER KSPT KSTEP KINC NDI NSHR COORD 2 JMAC JMATYP MATLAYO LACCFLA INCLUDE ABA PARAM INC Cc CHARACTER 80 CMNAME ORNAME CHARACTER 3 FLGRAY 15 DIMENSION UVAR NUVARM DIRECT 3 3 1T 3 3 TIME 2 DIMENSION ARRAY 15 JARRAY 15 JMAC JMATYP COORD c The dimensions of the variables FLGRAY ARRAY and JARRAY c must be set equal to or greater than 15 user coding to define UVAR RETURN END Variable to be defined UVAR NUVARM An arrav containing the user defined output variables These are passed in as the values at the beginning of the increment and must be returned as the values at the end of the increment 1 1 53 2 UVARM Variables passed in for information DIRECT 3 3 An array containing the direction cosines of the material directions in terms of the global basis direction
238. e props 1 xnu props 2 yield props 3 hard props 4 Cc twomu e one xnu thremu threeHalfs twomu sixmu three twomu alamda twomu e twomu sixmu two e term one twomu one hard thremu conl sqrt twoThirds Cc do 100 i 1 nblock Cc C Trial stress trace strainInc i 1 strainInc i 2 strainInc i 3 sigl 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 strainlInc i 4 C 1 2 17 12 AARARN aa AAAN a VUMAT Trial stress measured from the back stress sl sigl stateOld i 1 s2 sig2 stateold i 2 s3 sig3 stateOld i 3 s4 sig4 stateOld i 4 Deviatoric part of trial stress measured from the back stress smean third sl s2 83 dsl sl smean ds2 s2 smean ds3 s3 smean Magnitude of the deviatoric trial stress difference dsmag sqrt dsl 2 ds2 2 ds3 2 2 s4 2 Check for yield by determining the factor for plasticity zero for elastic one for yield radius conl 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 gamm
239. e I J entries times the current frequency value FREQR obtained from the argument list Unless you invoke the unsymmetric equation solution capability in the contact property model definition Use with the unsymmetric equation solver in Abaqus Standard in User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual Abaqus Standard uses 1 1 38 3 UINTER only the symmetric part of DVISCOUS For a particular off diagonal I J entry the symmetrization is done by halving the sum of the I J and J I components DSTRUCTURAL NDIR NDIR Interface structural damping matrix that can be used only in direct steady state dynamic analysis DSTRUCTURAL I J defines an element in the material structural damping matrix Unless you invoke the unsymmetric equation solution capabilitv in the contact property model definition Use with the unsymmetric equation solver in Abaqus Standard in User defined interfacial constitutive behavior Section 35 1 6 ofthe Abaqus Analysis User s Manual Abaqus Standard uses only the symmetric part of DSTRUCTURAL For a particular off diagonal I J entry the symmetrization is done by halving the sum of the I J and J I components STATEV NSTATV SED SFD SPD SVD SCD An array containing the solution dependent state variables These are passed in as values at the beginning of the increment and must be returned as values at the end o
240. e increment drDisp nDir nBlock An atray containing the increments in relative positions of the proximity points with respect to the associated master surfaces during the current time increment dRot 2 2 nBlock This argument is currently undefined stiffDef nBlock Values of the default penalty stiffnesses stress per unit penetration units of FL conductDef nBlock Values of the default penalty conductances units of J T 1 dircos nDir nDir nBlock Direction cosines of the local surface coordinate system The first array index corresponds to the components of the local directions and the second array index corresponds to the local direction number The first direction dircos 1 nDir 1 is the normal to the surface The second direction dircos 1 nDir 2 is the first surface tangent For a three dimensional surface the third direction dircos 1 3 3 is the second surface tangent If the master surface is an analytical rigid surface the numbers in dircos are valid only if the corresponding parts in penetration are valid i e not equal to r_MaxVal coordSiv nDir nNodSlv nBlock Array containing the nDir components of the current coordinates of the proximity points coordMst nDir nNodMst nBlockAnal Array containing the nDir components of the current coordinates of the nodes on the master surface If the master surface is an analytical rigid surface this array is passed in as a dummy array 1 2 16
241. e state They should be returned containing perturbation values if you wish to output such quantities When KINC is equal to zero the call to UELMAT is made for zero increment output see Output Section 4 1 1 ofthe Abaqus Analysis User s Manual In this case the values returned will be used only for output purposes and are not updated permanently ENERGY For general nonlinear steps array ENERGY contains the values ofthe energy quantities associated with the element The values in this array when UELMAT is called are the element energy quantities at the start ofthe current increment They should be updated to the values at the end ofthe current increment For linear perturbation steps the array is passed into UELMAT containing the energy in the base state They should be returned containing perturbation values if you wish to output such quantities The entries in the array are as follows ENERGY 1 Kinetic energy ENERGY 2 Elastic strain energy ENERGY 3 Creep dissipation ENERGY 4 Plastic dissipation ENERGY 5 Viscous dissipation ENERGY 6 Artificial strain energy associated with such effects as artificial stiffness introduced to control hourglassing or other singular modes in the element ENERGY 7 Electrostatic energy ENERGY 8 Incremental work done by loads applied within the user element When KINC is equal to zero the call to UELMAT is made for zero increment output see Output Section 4 1 1 of
242. e vertical gradient of the dvnamic pressure and the instantaneous fluid surface elevation as a function of time and sp ace and e for stochastic analvsis can be used to determine when during the analvsis the current configuration should be retained as the intermediate configuration upon which the wave kinematics are based User subroutine interface u PWN 1 SUBROUTINE UWAVE V A PDYN DPDYNDZ SURF LPDYN LRECOMPUTE LUPLOCAL LUPGLOBAL LSURF NDIM XCUR XINTERMED GRAV DENSITY ELEVB ELEVS SEED NSPECTRUM FREQWAMP TIME DTIME NOEL NPT KSTEP KINC INCLUDE ABA PARAM INC DIMENSION V NDIM A NDIM XCUR NDIM XINTERMED NDIM FREQWAMP 2 NSPECTRUM TIME 2 user coding to define V A PDYN DPDYNDZ SURF and ifnecessary LUPGLOBAL and LUPLOCAL RETURN END 1 1 54 1 UWAVE Variables to be defined When LSURF20 V NDIM The total fluid velocity at the current load integration location This array is passed into UWAVE as the steadv current velocitv The arrav should be updated as the sum of the steadv current velocitv and the velocitv contribution from the user defined wave theorv A NDIM The fluid acceleration at the current load integration location PDXN The dynamic pressure contribution to the total pressure This variable is needed only for buoyancy loads The total pressure at a location below the instantaneous surface elevation is the sum of the atmospheric pressure the hyd
243. e will be extrapolated to that node and averaged JELEMLIST can be obtained from utilitv routine GETNODETOELEMCONN NELEMS Length of JELEMLIST JGVBLOCK Variable that must be passed into the GETVRMAVGATNODE utilitv routine This variable is available in user subroutine UMESHMOTION for this purpose JMATYP Variable that must be passed into the GETVRMAVGATNODE utility routine This variable is available in user subroutine UMESHMOTION for this purpose Variables returned from the utility routine ARRAY Real array containing individual components of the output variable JRCD Return code 0 no error 1 output request error or all components of output request are zero Available output variable keys Only output variable keys that are valid for results file output are available for use with GETVRMAVGATNODE In general if a key corresponds to a collective output variable rather than an individual component it can be used with GETVRMAVGATNODE For example S for the stress tensor can be used whereas any individual component of stress say S11 cannot be used The collective output variable keys are distinguished from their individual components by the fact that they have a bullet e in the fil column in the tables in Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analysis User s Manual Output variable keys that cannot be used with GETVRMAVGATNODE are listed later in this section You will be retu
244. e Abaqus Analysis User s Manual or the extended versions of the classical Coulomb friction model Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual are too restrictive and a more complex definition of normal and shear transmission between contacting surfaces including damping properties are required e must provide the entire definition of the mechanical and the thermal interaction between the contacting surfaces hence no additional surface behaviors can be specified in conjunction with this capability e can provide the entire definition of viscous and structural damping for interaction between the contacting surfaces for direct steady state dynamic analysis e can use and update solution dependent state variables and e is not available for contact elements User subroutine interface SUBROUTINE UINTER STRESS DDSDDR DVISCOUS DSTRUCTURAL FLUX DDFDDT 1 DDSDDT DDFDDR STATEV SED SFD SPD SVD SCD PNEWDT RDISP 2 DRDISP 3 TEMP DTEMP PREDEF DPRED TIME DTIME FREQR CINAME SLNAME 4 MSNAME 1 1 38 UINTER 5 PROPS COORDS ALOCALDIR DROT AREA CHRLNGTH NODE NDIR NSTATV 6 NPRED NPROPS MCRD KSTEP KINC KIT LINPER LOPENCLOSE LSTATE 7 LSDI LPRINT INCLUDE ABA PARAM INC CHARACTER 80 CINAME SLNAME MSNAME DIMENSION STRESS NDIR DDSDDR NDIR NDIR FLUX 2 DDFDDT 2 2 DDSDDT NDIR 2 DDFDDR 2 NDIR STATEV NSTATV RDISP NDIR DRDISP NDIR TEMP 2 D
245. e Abaqus Analysis User s Manual Abaqus Standard will use only the symmetric part of DDSDDR For a particular off diagonal I J entry the symmetrization is done by halving the sum of I J and J I components DDSDDR must be defined 1 1 38 2 UINTER for a stress displacement a fullv coupled temperature displacement or a coupled thermal electrical structural analvsis to ensure proper convergence characteristics FLUX 2 Magnitude of the heat flux flowing into the slave and master surfaces respectivelv This arrav is passed in as the value at the beginning of the increment and must be updated to the flux at the end of the increment The convention for defining the flux is that a positive flux indicates heat flowing into a surface while a negative flux indicates heat flowing out of the surface This variable must be defined for a heat transfer a fullv coupled temperature displacement or a coupled thermal electrical structural analvsis The sum of these two flux terms represents the heat generated in the interface and the difference in these flux terms represents the heat conducted through the interface DDFDDT 2 2 The negative of the variation of the flux at the two surfaces with respect to their respective temperatures for a fixed relative displacement This variable must be defined for a heat transfer a fully coupled temperature displacement or a coupled thermal electrical structural analysis to ensure proper convergence chara
246. e an auxiliarv function is used to facilitate indexing into a fourth order symmetric UANISOHVPER STRAIN U 2 2 OU ji AU del dEPOT 3J eC BeGOeG AT Oe Das Ore o 1 del Jz2 3J AT tensor The user subroutine would be coded as follows subroutine uanisohyper strain incmpFlag ihybFlag ndi nshr ntens XXX numProps props include aba param inc dimension ebar ntens ua 2 dul ntens l dimension du2 ntens 1 ntens 2 2 dimension du3 ntens 1 ntens 2 2 dimension statev numStatev fieldv numFieldv dimension fieldvInc numFieldv props numProps character 80 cmname parameter half 0 5d0 one 1 40 two 2 40 third 1 40 3 d0 twothds 2 d0 3 d0 four 4 40 Orthotropic Saint Venant Kirchhoff strain energv function 3D D1111 props 1 D1122 props 2 D2222 props 3 1 1 21 7 ebar aj ua dul du2 du3 temp noel cmname numStatev statev numFieldv fieldv fieldvinc UANISOHVPER STRAIN D1133 props 4 D2233 props 5 D3333 props 6 D1212 props 7 D1313 props 8 D2323 props 9 d2UdE11dE11 D1111 d2UdE11dE22 D1122 d2UdE11dE33 D1133 d2UdE22dE11 d2UdE11dE22 d2UdE22dE22 D2222 d2UdE22dE33 D2233 d2UdE33dE11 d2UdE11dE33 d2UdE33dE22 d2UdE22dE33 d2UdE33dE33 D3333 d2UdE12dE12 D1212 d2UdE13dE13 D1313 d2UdE23dE23 D2323 xpow exp log aj twothds detuInv one aj Ell xpow ebar 1 4 h
247. e associated cross correlation matrix Cross correlation for base motion excitation The spatial correlation matrix for base motion excitation is defined by the coefficients vy in user subroutine UCORR where 2 7 are excitation directions and J corresponds to the Jth frequency function referenced under load case I Cross correlation for point loads and distributed loads The spatial correlation matrix of the load is defined as follows Let Be 3 be the load applied to degree of freedom iat node Nin load case J through the use of a concentrated or distributed load Let Jcorrespond to the Jth frequency function referenced under load case I The spatial correlation matrix used in the random response analysis for this load case is then a IJ I I Uran Cym Finn Fin where C7 jy 44 3 ate the coefficients defined in user subroutine UCORR Typically the load magnitude is given as 1 0 therefore the load definition is simply selecting the nonzero terms that will appear in IJ Von 1 1 22 1 UCORR User subroutine interface SUBROUTINE UCORR PSD CORRR CORRI KSTEP LCASE JNODE1 JDOF1 1 JNODE2 JDOF2 COOR1 COOR2 INCLUDE ABA PARAM INC DIMENSION COOR1 3 COOR2 3 CHARACTER 80 PSD user coding to define CORRR and CORRI RETURN END Variables to be defined CORRR Real part of the cross correlation scaling factor CORRI Imaginary part of the cross correlation scaling factor Variables passed in for information
248. e axial force ESF1 for pipe elements subjected to load types PENU and PINU LAYER Layer number for body forces in layered solids KSPT Section point number within the current layer 1 1 5 2 DLOAD COORDS An arrav containing the coordinates of the load integration point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analvsis User s Manual otherwise the arrav contains the original coordinates of the point For axisymmetric elements that allow nonaxisymmetric deformation COORDS 3 is the angular position of the integration point in degrees JLTXP Identifies the load tvpe for which this call to DLOAD is being made The load tvpe mav be a bodv force a surface based load or an element based surface load For element based surface loads this variable identifies the element face for which this call to DLOAD is being made This information is useful when several different nonuniform distributed loads are being imposed on an element at the same time See Part VI Elements of the Abaqus Analysis User s Manual for element face identification The key is as follows JLTYP Load type 0 Surface based load 1 BXNU 1 BRNU 2 BYNU except for axisymmetric elements 2 BZNU for axisymmetric elements only 3 BZNU for three dimensional elements and asymmetric axisymmetric elements 20 PNU 21 PINU 22 P2NU 2
249. e between zero and the negative of the stick force value After user subroutine VFRICTION is called frictional forces that oppose the forces specified at the contact points are distributed to the master nodes User subroutine interface subroutine vfriction C Write only fTangential C Read Write state C Read only nBlock nBlockAnal nBlockEdge nNodState nNodSlv nNodMst nFricDir nDir nStates nProps nTemp nFields jFlags rData surfInt surfSlv surfMst jConSlvUid jConMstUid props dSlipFric fStickForce fTangPrev fNormal areaCont dircosN dircosS1 shapeSlv shapeMst coordSlv coordMst velSlv velMst tempSlv tempMst fieldSlv fieldMst rar IH OF IH OH HF F include vaba_param inc dimension fTangential nFricDir nBlock state nStates nNodState nBlock jConslvUid nNodSlv nBlock jConMstUid nNodMst nBlockAnal props nProps dSlipFric nDir nBlock fStickForce nBlock 1 2 6 3 VFRICTION fTangPrev nDir nBlock fNormal nBlock areaCont nBlock dircosN nDir nBlock dircosS1 nDir nBlock shapeSlv nNodSlv nBlockEdge shapeMst nNodMst nBlockAnal coordSlv nDir nNodSlv nBlock coordMst nDir nNodMst nBlockAnal velSlv nDir nNodSlv nBlock velMst nDir nNodMst nBlockAnal tempSlv nBlock tempMst nBlockAnal fieldSlv nFields nBlock fieldMst nFields nBlockAnal FH HF HF HF HF HF parameter iKStep iKInc i
250. e contact formulation Consider the punch shown in Figure 1 1 16 2 Z Figure 1 1 16 2 Cross section of a rigid punch It consists of a spherical head of radius a smoothly merging into a conical section with cone angle a The center of the sphere lies on the z axis at Q We assume that the punch is being driven down the z axis by a prescribed displacement at the rigid body reference node defined as a boundary condition This same surface could be defined directly as a three dimensional surface of revolution as described in Analytical rigid surface definition Section 2 3 4 of the Abaqus Analysis User s Manual We define it here in RSURFU as an illustration A point slave node on the surface of the deforming body will be associated with the spherical head or with the conical part of the punch depending on whether it lies above or below the cone that passes through Q and the circle of intersection of the sphere and cone Thus define r 4 T 2 2z 23 1 1 16 5 ASURFU in the three dimensional case or r ti z T2 in the axisymmetric case Then if r tana lt zg z the point is associated with the spherical surface Otherwise it is associated with the cone both cases are indicated in Figure 1 1 16 2 Consider first the axisymmetric case Then for r tana lt zg z the sphere the overclosure is h a b where b 4 r z 20 The position of the point A on the rigid surface is a co
251. e flags passed in through the LFLAGS array are used to associate particular calculations with solution procedures During a modified Riks analysis all force loads must be passed into UEL by means of distributed load definitions such that they are available for the definition of incremental load vectors the load keys Un and UnNU must be used properly as discussed in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual The coding in subroutine UEL must distribute the loads into consistent equivalent nodal forces and account for them in the calculation of the RHS and ENERGY arrays SUBROUTINE UEL RHS AMATRX SVARS ENERGY NDOFEL NRHS NSVARS 1 PROPS NPROPS COORDS MCRD NNODE U DU V A JTYPE TIME 2 DTIME KSTEP KINC JELEM PARAMS NDLOAD JDLTYP ADLMAG 3 PREDEF NPREDF LFLAGS MLVARX DDLMAG MDLOAD PNEWDT 4 JPROPS NJPROP PERIOD INCLUDE ABA PARAM INC PARAMETER ZERO 0 D0 HALF 0 5D0 ONE 1 D0 DIMENSION RHS MLVARX AMATRX NDOFEL NDOFEL SVARS NSVARS ENERGY 8 PROPS COORDS MCRD NNODE U NDOFEL DU MLVARX V NDOFEL A NDOFEL TIME 2 PARAMS 3 JDLTYP MDLOAD ADLMAG MDLOAD DDLMAG MDLOAD PREDEF 2 NPREDF NNODE LFLAGS JPROPS DIMENSION SRESID 6 uF WD UEL SUBROUTINE FOR A HORIZONTAL TRUSS ELEMENT SRESID stores the static residual at time t dt SVARS In 1 6 contains the static residual at time t upon ente
252. e if cmname 1 4 eq MAT2 then call VUANISOHYPER_INV2 argument list end if VUANISOHYPER INVI and VUANISOHYPER INV2 are the actual subroutines containing the anisotropic hyperelastic models for each material MAT1 and MAT2 respectively Subroutine VUANISOHYPER INV merely acts as a directory here The argument list can be the same as that used in subroutine VUANISOHYPER_INV The material names must be in uppercase characters since cmname is passed in as an uppercase character string Example Anisotropic hyperelastic model of Kaliske and Schmidt As an example of the coding of subroutine VUANISOHXPER INV consider the model proposed by Kaliske and Schmidt 2005 for nonlinear anisotropic elasticity with two families of fibers The strain energy function is given by a polynomial series expansion in the form 1 2 8 6 VUANISOHVPER INV U ree 5 3 i l j l 6 6 5 m I4 22 1 NO false FAQ ab m 2 n 2 p 6 alla 1 3 aisa 1 2 l 2 Me 9p C12L4 12 Gia Mer INI The code in subroutine VUANISOHXPER INV must return the derivatives of the strain energv function with respect to the scalar invariants which are readilv computed from the above expression In this example auxiliarv functions are used to facilitate enumeration of pseudo invarinats of tvpe bi a 8 and Is ag as well as for indexing into the array of second derivatives using symmetric storage The subroutine would be coded as
253. e increment Variables passed in for information nblock Number of material points to be processed in this call to VUMAT ndir Number of direct components in a symmetric tensor nshr Number of indirect components in a symmetric tensor nstatev Number of user defined state variables that are associated with this material type you define this as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined material properties lanneal Flag indicating whether the routine is being called during an annealing process lanneal 0 indicates that the routine is being called during a normal mechanics increment lanneal I indicates that this is an annealing process and you should re initialize the internal state variables stateNew if necessary Abaqus Explicit will automatically set the stresses stretches and state to a value of zero during the annealing process 1 2 17 6 VUMAT stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime dt Time increment size cmname User specified material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ_ character string To avoid c
254. e material definition contains user defined anisotropic hyperelastic behavior with Green strain based formulation Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e can use and update solution dependent state variables e can use any field variables that are passed in and e requires that the values of the derivatives of the strain energy density function be defined with respect to the components of the modified Green strain tensor and the volume ratio Component ordering in tensors The component ordering depends upon whether the tensor is second or fourth order Symmetric second order tensors For symmetric second order tensors such as the modified Green strain tensor there are ndir nshr components the component order is given as a natural permutation of the indices of the tensor The direct components are first and then the indirect components beginning with the 12 component For example a stress tensor contains ndir direct stress components and nshr shear stress components which are passed in as Component 2 D Case 3 D Case G G 1 E11 E11 G G 2 22 E22 1 2 9 1 VUANISOHVPER STRAIN Component 2 D Case 3 D Case 3 33 33 4 12 12 5 ES 6 BA The shear strain components are stored as tensor components and not as engineering components Symmetric fourth order tensors For symmetric fourth order tensors such as t
255. e of the local iteration procedure and hence will vary from point to point During these iterations it is possible for the values of the state variables to be far from their final values when the equations are solved Therefore the coding in the subroutine must adequately protect against arithmetic failures such as floating point overflows even when variables are passed in with physically unreasonable values As in explicit integration the variable LEND indicates whether the routine is called at the start or the end of the increment Constant stress assumption when defining creep and swelling When the creep and swelling behavior are defined by simple formula it is often possible to calculate the increments of equivalent creep and swelling strain exactly if it is assumed that the stress is constant during the increment This approach has the advantage that it provides very good accuracy within the constant stress assumption It also avoids the problem that arises for some creep behavior definitions that the creep strain rate becomes infinite at zero time or strain Otherwise in such a case you must protect against causing arithmetic failures at the start of the solution 1 1 1 6 CREEP Defining both plasticitv and creep If both plasticitv and creep are defined for a material Abaqus will calculate the creep strain before entering the plasticitv routines The stresses passed into the creep routine mav therefore exceed the vield stress
256. e same as the incoming value Abaqus Standard will update the eliminated degree of freedom based on the linearized form of the constraint equation In this case the constraint is not likely to be satisfied exactly LMPC Set this variable to zero to avoid the application of the multi point constraint The MPC will be applied if the variable is not changed This variable must be set to zero everv time the subroutine is called if the user MPC is to remain deactivated This MPC variable is useful for switching the MPC on and off during an analvsis However the option should be used with care switching off an MPC mav cause a sudden disturbance in equilibrium which can lead to convergence problems If this variable is used to switch on an MPC during an analvsis the variable UE should be defined otherwise the constraint may not be satisfied properly Variables passed in for information MDOF Maximum number of active degrees of freedom per node involved in the MPC For the degree of freedom mode of user subroutine MPC MDOF 1 Number of degrees of freedom that are involved in the constraint defined as the number of nodes given in the corresponding multi point constraint definition If more than one degree of freedom at a node is 1 1 14 4 MPC involved in a constraint the node must be repeated as needed or alternativelv the nodal mode should be used JTYPE Constraint identifier given for the corresponding multi point constraint definitio
257. e to define an element with access to Abaqus materials Product Abaqus Standard WARNING This feature is intended for advanced users only Its use in all but the simplest test examples will require considerable coding bv the user developer User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual should be read before proceeding References User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual xUEL PROPERTY xUSER ELEMENT Accessing Abaqus materials Section 2 1 17 Accessing Abaqus thermal materials Section 2 1 18 Overview User subroutine UELMAT will be called for each element that is of a general user defined element type i e not defined by a linear stiffness or mass matrix read either directly or from results file data each time element calculations are required or subroutines called by user subroutine UELMAT must perform all of the calculations for the element appropriate to the current activity in the analysis can access some of the Abaqus materials through utility routines MATERIAL LIB MECH and MATERIAL LIB HT is available for a subset of the procedures supported for user subroutine UEL see User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual and is available for plane stress and three dimensional element types in a stress displacement analysis and for two dimensional and three dimensional element types in a heat tran
258. e transverse shear energy When UANISOHYPER_ STRAIN is used to define the material response of shell elements that calculate transverse shear energy Abaqus Standard cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 of the Abaqus Analysis User s Manual for guidelines on choosing this stiffness Elements with hourglassing modes When UANISOHXPER STRAIN is used to define the material response of elements with hourglassing modes you must define the hourglass stiffness for hourglass control based on the total stiffness approach The hourglass stiffness is not required for enhanced hourglass control but you can define a scaling factor for the stiffness associated with the drill degree of freedom rotation about the surface normal See Section controls Section 26 1 4 of the Abaqus Analysis User s Manual User subroutine interface SUBROUTINE UANISOHYPER STRAIN EBAR AJ UA DU1 DU2 DU3 1 TEMP NOEL CMNAME INCMPFLAG IHYBFLAG NDI NSHR NTENS 2 NUMSTATEV STATEV NUMFIELDV FIELDV FIELDVINC 3 NUMPROPS PROPS c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME c DIMENSION EBAR NTENS UA 2 DU1 NTENS 1 2 DU2 NTENS 1 NTENS42 2 3 DU3 NTENS 1 NTENS 2 2 1 1 21 3 UANISOHVPER STRAIN 4 STATEV NUMSTATEV FIELDV NUMFIELDV 5 FIELDVINC NUMFIELDV PROPS N
259. eNew Current value of the amplitude Variables that can be updated lFlagsDefine Integer flag array to determine whether the computation of additional quantities is necessary or to set step continuation requirements lFlagsDefine iComputeDeriv If set to 1 you must provide the computation of the amplitude derivative The default is 0 which means that Abaqus computes the derivative automatically 1 2 7 2 lFlagsDefine iComputeSecDeriv lFlagsDefine iComputeInteg lFlagsDefine iStopAnalysis lFlagsDefine iConcludeStep svars VUAMP If setto 1 vou must provide the computation of the amplitude second derivative The default is 0 which means that Abaqus computes the second derivative automaticallv If setto 1 vou must provide the computation of the amplitude incremental integral The default is 0 which means that Abaqus computes the incremental integral automaticallv If set to 1 the analysis will be stopped and an error message will be issued The default is 0 which means that Abaqus will not stop the analysis If set to 1 Abaqus will conclude the step execution and advance to the next step if a next step is available The default is 0 An array containing the values of the solution dependent state variables associated with this amplitude definition The number of such variables is nsvars see above You define the meaning of these variables This array is passed into VUAMP containing the values of t
260. ear MPC As an example of a nonlinear MPC consider the insertion of a rigid beam in a large displacement planar two dimensional problem This MPC is the two dimensional version of library BEAM type MPC It can be implemented as a set of three different single degree of freedom MPCs or as a single nodal MPC Here the second method will be worked out because it is simpler and requires less data input Let aand b see Figure 1 1 14 2 be the ends of the beam with a the dependent end a x o Do x Figure 1 1 14 2 Nonlinear MPC example rigid beam The rigid beam will then define both components of displacement and the rotation at a in terms of the displacements and rotation at end b according to the set of equations u x 2 Loos bo 0 u u y y Lsin d do 0 fau u 62 0 where u ud us 2 and u u ub 62 x y and x y are the current locations of a and b amp and are the rotations at a and b about the z axis L is the length of the link and o is the original orientation of the link In terms of the original positions X Y and X Y of a and b cos do Lx L sin o Ly L and where Ly X X and Ly Y Y Thus the constraint equations can be expressed as 1 1 14 14 MPC filu u uz ub Lg Lx cos o Ly sing 0 Fu u u u Ly Lxsind Ly cos 0 f u
261. ear components in the order presented here For plane stress only three components of the matrix are needed give Act Act and A as the first second and third components respectively DEXPANDT Variation of thermal strains with respect to temperature de 99 The number of values and the order in which they are arranged depend on the type of thermal expansion being defined e For isotropic expansion give the variation of the isotropic thermal strain with respect to temperature as the first and only component of the matrix e For orthotropic expansion give dei 00 Oc 00 and e 08 as the first second and third components of the matrix respectively e For anisotropic expansion give Dell 30 058 00 00 Jet 00 Jet 00 and debt 80 Direct components are stored first followed by shear components in the order presented here For plane stress only three components of the matrix are needed give dei 00 dc 00 and Dei 88 as the first second and third components respectively Variable that can be updated STATEV NSTATV Array containing the user defined solution dependent state variables at this point Except for coupled temperature displacement and coupled thermal electrical structural analyses these are supplied as values at the start of the increment and can be updated to their values at the end of the increment For coupled temperature displacement and coupled thermal electrical structural analyses UEX
262. ection 28 6 4 of the Abaqus Analysis User s Manual for guidelines on choosing this stiffness Material point deletion Material points that satisfy a user defined failure criterion can be deleted from the model see User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual You must specify the state variable number controlling the element deletion flag when you allocate space for the solution dependent state variables as explained in User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual The deletion state variable should be set to a value of one or zero in VUANISO XPER STRAIN A value of one indicates that the material point is active and a value of zero indicates that Abaqus Explicit should delete the material point from the model by setting the stresses to zero The structure of the block of material points passed to user subroutine VUANISOHYPER STRAIN remains unchanged during the analysis deleted material points are not removed from the block Abaqus Explicit will freeze the values of the strains passed to VUANISOHYPER STRAIN for all deleted material points that is the strain values remain constant after deletion is triggered Once a material point has been flagged as deleted it cannot be reactivated User subroutine interface subroutine vuanisohyper strain C Read only unmodifiable variables 1 nblock jElem kIntPt kLayer kSecPt cmna
263. ed and only DECRA 1 and DESWA 1 need be defined DECRA I and DESWA I I 2 5 need not be defined If LEXIMP 1 implicit creep integration is being used The derivatives DECRA I and DESWA I I 2 5 should be defined accurately to achieve rapid convergence of the solution LEND Start end of increment flag If LEND 0 the routine is being called at the start of the increment In this case DECRA 1 and DESWA 1 must be defined as the equivalent creep and swelling rates calculated at the beginning of the increment multiplied bv the time increment If LEND 1 the routine is being called at the end of the increment In this case DECRA 1 and DESWA 1 must be defined as the equivalent creep and swelling rates calculated at the end of the increment multiplied bv the time increment If applicable the solution dependent state variables STATEV must be updated as well 1 1 1 11 CREEP COORDS 3 An arrav containing the current coordinates of this point NSTATV Number of solution dependent state variables associated with this material or gasket behavior type specified when space is allocated for the array see Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual NOEL Element number NPT Integration point number LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer KSTEP Step number KINC Increme
264. ed in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined fluid exchange properties required to define mass heat energy flow rate stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime dt Time increment size jCavTvpe Indicator of fluid cavitv tvpe 1 for fluid cavitv with hvdraulic fluids 2 for fluid cavitv with adiabatic gases and 3 for fluid cavitv with isothermal gases fluExchName User specified fluid exchange name effArea Effective area for fluid exchange 1 2 12 3 VUFLUIDEXCH amplitude Current value of the amplitude referenced for this fluid exchange You must multiply the flow rates by the current amplitude value within the user subroutine if the amplitude is required props nprop User defined fluid exchange properties lExchEnv The fluid exchange is to the environment if JExchEnv 1 and to another fluid cavity if LExchEnv 0 pcavNew 2 Pressure in primary and secondary fluid cavities at the end of the increment pcavold 2 Pressure in primary and secondary fluid cavities at the beginning of the increment ctempNew 2 Temperature in primary and secondary fluid cavities at the end ofthe increment ctempOld 2 Temperature in primary and second
265. ed in terms of an assembly of part instances involved with this contact point Corresponds to the predominant slave node of the constraint if the surface to surface contact formulation is used Passed in as zero if called from a contact element NPATCH Not used COORDS MCRD An array containing the current coordinates of this point RCOORD MCRD If the master surface is defined as a rigid surface this array is passed in containing the coordinates of the opposing point on the rigid surface in its current position and orientation DROT 2 2 Rotation increment matrix For contact with a three dimensional rigid surface this matrix represents the incremental rotation of the surface directions relative to the rigid surface It is provided so that vector or tensor valued state variables can be rotated appropriately in this subroutine Stress and slip components are already rotated by this amount before FRIC is called This matrix is passed in as a unit matrix for two dimensional and axisymmetric contact problems TEMP 2 Current temperature at the slave node and the opposing master surface respectively PREDEF 2 NPRED An array containing pairs of values of all the user specified field variables at the end of the current increment initial values at the beginning of the analysis and current values during the analysis If FRIC is called from a contact pair the first value in a pair corresponds to the slave node and the second
266. ed with the material point e the current material state in the underlying elements and e the temperature and pressure in the primary fluid cavity and the secondary fluid cavity or environment The effective area for fabric materials can depend on the nominal strain in the yarn directions and the change in angle between the two yarn directions as well as the current angle between the two yarn directions For nonfabric materials the effective area can depend on the material point strain User subroutine interface subroutine vufluidexcheffarea C Read only unmodifiable variables 1 nblock nprop props 2 stepTime totalTime fluExchName 3 cMatName lFabric braidAngle 4 strain origArea 1 2 13 VUFLUIDEXCHEFFAREA 5 pcav ctemp C Write onlv modifiable variables c AAAMAA 6 uu PWN effArea include vaba param inc parameter ndir 3 nshr 1 pointers for retrieving fabric constitutive strains parameter iFiberStrainl 1 iFiberStrain2 2 iFiberChangeAng 4 dimension props nprop braidAngle nblock strain nblock ndir nshr origArea nblock pcav 2 ctemp 2 effArea nblock character 80 fluExchName cMatName do k 1 nblock User coding to update effArea k area associated with material point contributing to area for fluid exchange leakage end do return end Variable to be defined effArea nblock Area associated with the material point contributing t
267. edom 11 12 1 1 28 10 UELMAT e The backward difference scheme is always used for time integration that is Abaqus Standard assumes that tipa Au At where Au utpat uz and so du du 1 At always For degrees of freedom 11 12 max Au will be compared against the user prescribed maximum allowable nodal temperature change in an increment Ad az for controlling the time integration accuracy You need to define AMATRX KNM 1 At CN where ON is the heat capacity matrix and RHS FN and must update the state variables H Usage with linear perturbation procedures General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual describes the linear perturbation capabilities in Abaqus Standard Here base state values of variables will be denoted by u H etc Perturbation values will be denoted by a HS etc Abaqus Standard will not call user subroutine UELMAT for the following procedures eigenvalue buckling prediction response spectrum transient modal dynamic steady state dynamic modal and direct and random response Static analysis LFLAGS 1 1 2 Abaqus Standard will solve KNM aM PN fori M where KNM is the base state stiffness matrix and the perturbation load vector PN is a linear function of the perturbation loads p that is PN OF Op p LFLAGS 3 1 You must define AMATRX KNM and RHS PN LFLAGS 3 100 You must compute pertur
268. efine AMATRX MNM Example Structural and heat transfer user element Both a structural and a heat transfer user element have been created to demonstrate the usage of subroutine UEL These user defined elements are applied in a number of analyses The following excerpt is from the verification problem that invokes the structural user element in an implicit dynamics procedure USER ELEMENT NODES 2 TYPE U1 PROPERTIES 4 COORDINATES 3 VARIABLES 12 1 2 3 ELEMENT TYPE U1 101 101 102 1 1 27 13 veL xELGEN ELSET UTRUSS 101 5 UEL PROPERTY ELSET UTRUSS 0 002 2 1E11 0 3 7200 The user element consists of two nodes that are assumed to lie parallel to the z axis The element behaves like a linear truss element The supplied element properties are the cross sectional area Young s modulus Poisson s ratio and density respectively The next excerpt shows the listing of the subroutine The user subroutine has been coded for use in a perturbation static analysis general static analysis including Riks analysis with load incrementation defined by the subroutine eigenfrequency extraction analysis and direct integration dynamic analysis The names of the verification input files associated with the subroutine and these procedures can be found in UEL Section 4 1 14 of the Abaqus Verification Manual The subroutine performs all calculations required for the relevant procedures as described earlier in this section Th
269. emental slip for kinematic contact The master surface normal direction n is the local 2 direction for two dimensional contact and the local 3 direction for three dimensional contact The local 2 direction for three dimensional contact is given by ta n x ti which is also tangent to the master surface The vectors are shown in Figure 1 2 4 1 and Figure 1 2 4 2 The direction cosines for ti and n with respect to the global coordinate system are available in dirCosT1 and dirCosn respectively In the case of zero incremental slip ds 0 we choose an arbitrary direction for t that is orthogonal to the normal direction n incremental surface frictional slip normal l slip direction master surface Figure 1 2 4 1 Local coordinate system for two dimensional contact with VFRIC Frictional forces Vou specifv the frictional force fTangential at each contact point in local coordinates in this subroutine The array fTangential is dimensioned such that only the tangential components can be specified Anv components of the frictional force that are not specified will remain equal to zero For three dimensional contact with isotropic friction only the first component of the frictional force need be specified since the second component should be zero A stick force at each contact point is provided in the array StickForce to the assist you in setting appropriate frictional force values The stick force is the force required to preven
270. ent rotation pore pressure temperature etc depending on the degree of freedom constrained U 1 will be passed into the routine as the value defined by any magnitude and or amplitude specification for the boundary condition or connector motion Ifthe analysis procedure requires that the time derivatives of prescribed variables be defined for example in a dynamic analysis the velocity and acceleration as well as the value of the variable are needed du dt must be given in U 2 and d u dt in U 3 The total value of the variable and its time derivatives must be given in user subroutine DISP regardless of the type of boundary condition or connector motion Variables passed in for information KSTEP KINC Step number Increment number TIME 1 Current value of step time TIME 2 NODE NOEL JDOF Current value of total time Node number This variable cannot be used if user subroutine DISP is used to prescribe connector motions Element number This variable cannot be used if user subroutine DISP is used to prescribe boundary conditions Degree of freedom COORDS An array containing the current coordinates of this point These are the coordinates at the end of the prior increment if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the node This array ca
271. ent degrees of freedom that are involved in the constraint and should have a value between 1 and MDOF which is the number of active degrees of freedom per node in the analysis Nis the number of nodes involved in the constraint The scalar constraint functions f can also 1 1 14 8 MPC be considered as a vector function f and the first set of degrees of freedom ul in the vector function f will be eliminated to impose the constraint The sets u u etc are the independent degrees of freedom at nodes 2 3 etc involved in the constraint The set ul must be composed of NDEP degrees of freedom at the first node of the MPC definition For example if the dependent degrees of freedom are the z displacement the z displacement and the yrotation at the first node u ul ul by u u etc can be composed of any number of degrees of freedom depending on which ones play a role in the constraint and need not be of the same size for example u u and u u u u The dependent node can also reappear as an independent node in the MPC However since the dependent degrees of freedom of this node will be eliminated thev cannot be used as independent degrees of freedom in this MPC For example if the rotations at node a are constrained bv the MPC the displacements of node a can still be used as independent degrees of freedom in the MPC but the rotations themselves cannot Similarlv the degrees of freedom that will be eliminated
272. entry for the K1th degree of freedom of the element in the K2th right hand side vector AMATRX An array containing the contribution of this element to the Jacobian stiffness or other matrix of the overall system of equations The particular matrix required at any time depends on the entries in the LFLAGS array see below All nonzero entries in AMATRX should be defined even if the matrix is symmetric If you do not specify that the matrix is unsymmetric when you define the user element Abaqus Standard will use the symmetric matrix defined by A A where A is the matrix defined as AMATRX in this subroutine If you specify that the matrix is unsymmetric when you define the user element Abaqus Standard will use AMATRX directly SVARS An array containing the values of the solution dependent state variables associated with this element The number of such variables is NSVARS see below You define the meaning of these variables For general nonlinear steps this array is passed into UELMAT containing the values of these variables at the start of the current increment They should be updated to be the values at the end 1 1 28 2 UELMAT of the increment unless the procedure during which UELMAT is being called does not require such an update this requirement depends on the entries in the LFLAGS array see below For linear perturbation steps this array is passed into UELMAT containing the values of these variables in the bas
273. ents of steps for which vou have suppressed extrapolation in time from the previous incremental solution Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual In this case you can define only the section stiffness DDNDDE Stability You should ensure that the integration scheme coded in this routine is stable no direct provision is made to include a stability limit in the time stepping scheme based on the calculations in UGENS Convergence rate DDNDDE must be defined accurately ifrapid convergence ofthe overall Newton scheme is to be achieved In most cases the accuracy of this definition is the most important factor governing the convergence rate Unsymmetric equation solution is as much as four times as expensive as the corresponding symmetric system Therefore if the section stiffness matrix DDNDDE is only slightly unsymmetric it may be computationally less expensive to use a symmetric approximation and accept a slightly slower rate of convergence Use with shells that have transverse shear and or hourglass stiffness If user subroutine UGENS is used to describe the section behavior of shells with transverse shear you must define the transverse shear stiffness see Defining the transverse shear stiffness in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual If user subroutine UGENS is used to describe the section behavior
274. er KINC Current increment number JELEM User assigned element number NDLOAD Identification number of the distributed load or flux currently active on this element MDLOAD Total number of distributed loads and or fluxes defined on this element NPREDF Number of predefined field variables including temperature For user elements Abaqus Standard uses one value for each field variable per node 1 1 27 8 UEL UEL conventions The solution variables displacement velocitv etc are arranged on a node degree of freedom basis The degrees of freedom of the first node are first followed bv the degrees of freedom of the second node etc Usage with general nonlinear procedures The values of w and in direct integration dynamic steps and i enter user subroutine UEL as their latest approximations at the end of the time increment that is at time t At The values of H enter the subroutine as their values at the beginning of the time increment that is at time t It is your responsibility to define suitable time integration schemes to update H To ensure accurate stable integration of internal state variables vou can control the time incrementation via PNEWDT The values of pf enter the subroutine as the values of the total load magnitude for the th distributed load at the end of the increment Increments in the load magnitudes are also available In the following descriptions of the user element s requirement
275. er nContact Number of contacting slave nodes nFacNod Number ofnodes on each master surface facet nFacNod is 2 fortwo dimensional surfaces nFacNod is 4 for three dimensional surfaces Ifthe master surface is an analytical rigid surface this variable is passed in as 0 nSlvNod Number of slave nodes nMstNod Number of master surface nodes if the master surface is made up of facets If the master surface is an analytical rigid surface this variable is passed in as 0 nFricDir Number of tangent directions at the contact points nFricDir nDir 1 nDir Number of coordinate directions at the contact points In a three dimensional model nDir will be two if the surfaces in the contact pair are two dimensional analytical rigid surfaces or are formed by two dimensional elements nStateVar Number of user defined state variables nProps User specified number of property values associated with this friction model nTemp 1 if the temperature is defined and 0 if the temperature is not defined nPred Number of predefined field variables 1 2 4 5 VFRIC numDefTfv Equal to nContact if the master surface is made up of facets If the master surface is an analytical rigid surface this variable is passed in as 1 jslvUid nSlvNod This array lists the user defined global node numbers or internal node numbers for models defined in terms of an assembly of part instances of the nodes on the slave surface jMstUid nMstNod
276. er of points to be processed in this call to VDLOAD ndim Number of coordinate directions 2 for two dimensional models 3 for three dimensional models The model will be considered three dimensional if any three dimensional elements are defined including SPRINGA elements stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime amplitude Current value of the amplitude referenced for this load set to unitv if no amplitude is referenced You must multiply the load by the current amplitude value within the user subroutine if the amplitude is required curCoords nblock ndim Current coordinates of each point for which the load is to be calculated velocitv nblock ndim Current velocitv of each point for which the load is to be calculated dirCos nblock ndim ndim Current orientation of the face edge pipe or beam for pressure tvpe loads not applicable for bodv force tvpe loads The second dimension indicates the vector and the third dimension indicates the components of that vector For faces pressures on three dimensional continuum shell and membrane elements the first and second vectors are the local directions in the plane of the surface and the third 1 2 2 2 VDLOAD vector is the normal to the face as defined in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual For solid elements the normal points
277. er or rank A process number is either zero or a positive integer 2 1 4 2 OBTAINING PART INFORMATION 2 1 5 OBTAINING PART INFORMATION Products Abaqus Standard Abaqus Explicit References e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual e Defining an assembly Section 2 10 1 of the Abaqus Analysis User s Manual e Pure bending ofa cvlinder CAXA elements Section 1 3 33 of the Abaqus Verification Manual Overview Utilitv routines GETPARTINFO and VGETPARTINFO can be called from anv Abaqus Standard or Abaqus Explicit user subroutine respectivelv to retrieve the part instance name and original node or element number corresponding to an internal node or element number Utility routines GETINTERNAL and VGETINTERNAL can be called from any Abaqus Standard or Abaqus Explicit user subroutine respectively to retrieve the internal node or element number corresponding to a part instance name and original node or element number The part file iobname prt must be available The expense of calling these routines is not trivial so minimal use of them is recommended GETPARTINFO and VGETPARTINFO obtain part instance information given global node element number Interface CHARACTER 80 CPNAME CALL GETPARTINFO INTNUM JTYP CPNAME LOCNUM JRCD or CALL VGETPARTINFO INTNUM JTYP CPNAME LOCNUM JRCD Variables to be provided to the utility routine INTNUM The internal global n
278. ercase or mixed case characters were used in their definition jSensorLookUpTable Variable that must be passed into the utility functions IGETSENSORID and GETSENSORVALUE 1 1 19 4 UAMP Example Amplitude definition using sensor and state variables c user amplitude subroutine Subroutine UAMP c passed in for information and state variables ampName time ampValueOld dt nSvars svars lFlagsinfo nSensor sensorValues sensorNames jSensorLookUpTable C to be defined ampValueNew lFlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral AmpDoubleIntegral XXX xXx XXX include aba param inc c svars additional state variables similar to V UEL dimension sensorValues nSensor svars nSvars character 80 sensorNames nSensor character 80 ampName c time indices parameter iStepTime 1 iTotalTime 2 nTime 2 c flags passed in for information parameter ilnitialization iRegularInc iCuts ikStep nFlagsInfo c optional flags to be defined parameter iComputeDeriv iComputeSecDeriv iComputeInteg iComputeDoubleInteg iStopAnalysis 5 iConcludeStep 6 nFlagsDefine 6 Bh uNH xXx uF WD a parameter tStep 0 18d0 tAccelerateMotor 00375d0 1 1 19 5 AMP a omegaFinal 23 26d0 zero 0 0d0 one 1 0d0 two 2 0d0 four 4 0d0 dimension time nTime 1FlagsInfo nFlagsInfo lFlagsDefine nFlagsDefine dime
279. erview Section 17 1 1 ofthe Abaqus Analysis User s Manual User subroutine interface SUBROUTINE USDFLD FIELD STATEV PNEWDT DIRECT T CELENT 1 TIME DTIME CMNAME ORNAME NFIELD NSTATV NOEL NPT LAYER 1 1 49 2 USDFLD 2 KSPT KSTEP KINC NDI NSHR COORD JMAC JMATYP MATLAYO LACCFLA INCLUDE ABA PARAM INC CHARACTER 80 CMNAME ORNAME CHARACTER 3 FLGRAY 15 DIMENSION FIELD NFIELD STATEV NSTATV DIRECT 3 3 1 T 3 3 TIME 2 DIMENSION ARRAY 15 JARRAY 15 JMAC JMATYP COORD user coding to define FIELD and ifnecessary STATEV and PNEWDT RETURN END Variable to be defined FIELD NFIELD An array containing the field variables at the current material point These are passed in with the values interpolated from the nodes at the end of the current increment as specified with initial condition definitions predefined field variable definitions or user subroutine UFIELD The interpolation is performed using the same scheme used to interpolate temperatures an average value is used for linear elements an approximate linear variation is used for quadratic elements also see Solid continuum elements Section 27 1 1 of the Abaqus Analysis User s Manual The updated values are used to calculate the values of material properties that are defined to depend on field variables and are passed into other user subroutines CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT and UTRS that
280. es nprops User specified number of user defined material properties props nprops User supplied material properties 1 2 8 5 VUANISOHVPER INV tempOld nblock Temperatures at each material point at the beginning of the increment tempNew nblock Temperatures at each material point at the end of the increment fieldOld nblock nfieldv Values of the user defined field variables at each material point at the beginning of the increment fieldNew nblock nfieldv Values of the user defined field variables at each material point at the end of the increment stateOld nblock nstatev State variables at each material point at the beginning of the increment sInvariant nblock nInv Array of scalar invariants at each material point at the end of the increment The invariants are ordered using the enumeration scheme discussed above zeta nblock nFiber nFiber 1 2 Array of dot product between the directions of different families of fiber in the reference configuration Cag Aa Ag The array contains the enumerated values C using the scheme discussed above Example Using more than one user defined anisotropic hyperelastic material model To use more than one user defined anisotropic hyperelastic material model the variable cmname can be tested for different material names inside user subroutine VUANISOHYPER_ INV as illustrated below if cmname 1 4 eq MATI then call VUANISOHYPER_INV1 argument list els
281. es as a function of the maximum tensile strain that occurred during the loading historv The maximum tensile strain is stored as a solution dependent state variable see Defining solution dependent field variables in Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual Input file xHEADING Damaged elasticity model with user subroutine vusdfld xELEMENT TYPE T2D2 ELSET ONE 1 1 2 xNODE NSET NALL 1 0 0 2 10 0 SOLID SECTION ELSET ONE MATERIAL ELASTIC 1 xMATERIAL NAME ELASTIC xELASTIC DEPENDENCIES 1 Table of modulus values decreasing as a function of field variable 1 2000 0 3 0 0 00 1500 0 3 0 0 01 1200 0 3 0 0 02 1000 0 3 0 0 04 DENSITY 1 0e 6 1 2 18 6 xUSER DEFINED FIELD DEPVAR 1 1 EPSMAX Maximum strain value BOUNDARY 1 1 2 2 2 xAMPLITUDE NAME LOAD1 0 0 0 0 1 0 1 0 xAMPLITUDE NAME LOAD2 0 0 0 0 2 0 1 0 xAMPLITUDE NAME UNLOAD 0 0 1 0 1 0 0 0 xSTEP NLGEOM NO xDXNAMIC EXPLICIT 1 0 xCLOAD AMPLITUDE LOAD1 2 1 20 xOUTPUT FIELD VARIABLE PRESELECT xOUTPUT HISTORY VARIABLE PRESELECT xELEMENT OUTPUT ELSET ONE S E SDV xNODE OUTPUT NSET NALL RF CF U xEND STEP xSTEP NLGEOM NO xDXNAMIC EXPLICIT 1 0 xCLOAD AMPLITUDE UNLOAD 2 1 20 xEND STEP xSTEP NLGEOM NO DYNAMIC EXPLICIT 2 0 xCLOAD AMPLITUDE LOAD2 2 1 40 xEND STEP User subroutine subroutine vusdfld c Read only nblock nstatev nf
282. es for accessing the results file Section 5 1 4 ofthe Abaqus Analysis User s Manual can call the utility routine POSFIL to read from the results file starting at a specified step and increment as opposed to the beginning of the file which would otherwise be done see Utility routines for accessing the results file Section 5 1 4 ofthe Abaqus Analysis User s Manual can force an analysis to terminate upon completion ofa call by means of the variable LSTOP allows the last increment written to the results file to be overwritten by means of the variable LOVRWRT and allows access to the complete results file in a restarted job if the new results file is being appended to the old results file see the description of the execution option fil in Abaqus Standard Abaqus Explicit and Abaqus CFD execution Section 3 2 2 of the Abaqus Analysis User s Manual User subroutine interface SUBROUTINE URDFIL LSTOP LOVRWRT KSTEP KINC 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 1 1 48 1 URDFIL Variables to be defined In all cases LSTOP Flag to indicate whether an analysis should continue The analysis will be terminated if LSTOP is set to 1 Otherwise the analysis will continue LOVRWRT Flag to indicate that the information written to the results file for the increment can be
283. es for this iteration If automatic time incrementation is not selected in the analysis procedure values of PNEWDT greater than 1 0 will be ignored and values of PNEWDT less than 1 0 will cause the job to terminate STATEV NSTATV An array containing the user defined solution dependent state variables You specify the number of available state variables see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for details This array will be passed in containing the values of these variables at the start of the increment If any of the solution dependent state variables is being used in conjunction with the friction behavior they must be updated in this subroutine to their values at the end of the increment Variables passed in for information DGAM NFDIR If LM was set to 0 in the previous iteration this value is the increment of sliding motion in the current increment Aya Otherwise it will be zero Comparison with DSLIP NFDIR makes it possible to determine whether slip changes to stick at this point and or if there is a slip direction reversal occurring at this point TAULM NFDIR If LM was set to in the previous iteration this value is the current value of the constraint stress at the end of the increment EM Otherwise it will be zero Comparison with the critical shear stress makes it possible to determine whether stick changes to slip at this point 1 1 8
284. es of freedom 1 7 e You must define AMATRX KN F du and RHS F and update the state variables H Direct integration dynamic analysis LFLAGS 1 11 12 e Automatic convergence checks are applied to the force residuals corresponding to degrees of freedom 1 7 e LFLAGS 3 1 Normal time increment Either the Hilber Hughes Tavlor or the backward Euler time integration scheme will be used With a set to zero for the backward Euler both schemes imply 1 1 28 9 UELMAT where MNM MNM uM aM Ho pP t and GY GN u a H pP t that is the highest time derivative of u in MNM and GW is so that FN Ot t At Therefore you must store GN as an internal state vector If half increment residual calculations are required you must also store GN as an internal state vector where t indicates the time at the beginning of the previous increment For a 0 FN MNM iin ay GN pay and GN is not needed You must define AMATRX MNM d du 1 a C d du 4 l a KNM where CNM 0GN 1401 00 and KNM OGN14a1 0u RHS F must also be defined and the state variables H updated Although the value of a given in the dynamic step definition is passed into UELMAT the value of a can vary from element to element For example a can be set to zero for some elements in the model where numerical dissipation is not desired LFLAGS 3 5 Half increment residual F Do calculation Abaqu
285. etric part of the velocity gradient defined with respect to the corotational basis system Special considerations for hyperelasticity Hyperelastic constitutive models in VUMAT should be defined in a corotational coordinate system in which the basis system rotates with the material This is most effectively accomplished by formulating the hyperelastic constitutive model in terms of the stretch tensor U instead of in terms of the deformation gradient F R U Using the deformation gradient can present some difficulties because the deformation gradient includes the rotation tensor and the resulting stresses would need to be rotated back to the corotational basis Objective stress rates The Green Naghdi stress rate is used when the mechanical behavior of the material is defined using user subroutine VUMAT The stress rate obtained with user subroutine VUMAT may differ from that obtained with a built in Abaqus material model For example most material models used with solid continuum elements in Abaqus Explicit employ the Jaumann stress rate This difference in the formulation will cause significant differences in the results only if finite rotation of a material point is accompanied by finite shear For a discussion of the objective stress rates used in Abaqus see Stress rates Section 1 5 3 of the Abaqus Theory Manual Material point deletion Material points that satisfy a user defined failure criterion can be deleted from the mode
286. etween the contacting surfaces areaSlv nSlvNod Area associated with the slave nodes equal to 1 for node based surface nodes tempSlv nContact Current temperature at the slave nodes preDefSlv nContact nPred Current user specified predefined field variables at the slave nodes initial values at the beginning of the analysis and current values during the analysis tempMst numDefTfv Current temperature at the nearest points on the master surface preDefMst numDefTfv nPred Current user specified predefined field variables at the nearest points on the master surface initial values at the beginning of the analysis and current values during the analysis 1 2 4 8 VFRIC COEF 1 2 5 VFRIC COEF User subroutine to define the frictional coefficient for contact surfaces Product Abaqus Explicit References e Frictional behavior Section 35 1 5 of the Abaqus Analvsis User s Manual e FRICTION e VFRIC VFRIC COEF and VFRICTION Section 4 1 30 of the Abaqus Verification Manual Overview User subroutine VFRIC COEF e can be used to define the isotropic frictional coefficient between contacting surfaces e corresponds to the classical Coulomb friction model and e can be used only with the general contact algorithm User subroutine interface subroutine vfric coef C Write only fCoef fCoefDeriv C Read only nBlock nProps nTemp nFields jFlags rData surfInt surfSlv surfMst props sl
287. f coefficient on the top side of a pore pressure cohesive element DC BOT 1 OCbor Od where d DN DC BOT 2 OCbot OPint where Pint P INT DC BOT 3 OC pot OPoot Where Ppor P_BOT DC TOP 1 3Ctop 3d where d DN DC TOP 2 OC op OPint where pint P_INT DC TOP 3 OCtop OPtop Where Piop P_ TOP STATEV NSTATV An array containing the values of the solution dependent state variables You define the meaning of these variables These are passed in as the values at the beginning of the increment and must be returned as the values at the end of the increment The size of the array is defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual Variables passed in for information PERM 1 Fluid permeability PERM 2 The derivative of fluid permeability with regard to the opening PGRAD 1 The first component of internal pressure gradient PGRAD 2 The second component of internal pressure gradient 1 1 33 2 UFLUIDLEAKOFF DN The relative opening of the element P INT Internal pressure P BOT Bottom pressure P TOP Top pressure ANM Normal vector directed from the bottom face toward the top face TANG Tangent direction vectors TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment TEMP Temperatu
288. f degrees of freedom at the node LNODETYPE Node type flag LNODETYPE 1 indicates that the node is on the interior of the adaptive mesh region LNODETYPE 2 indicates that the node is involved in a tied constraint LNODETVPE 3 indicates that the node is at the corner of the boundary of an adaptive mesh region LNODETYPE 4 indicates that the node lies on the edge of a boundary of an adaptive mesh region LNODETYPE 5 indicates that the node lies on a flat surface on a boundary of the adaptive mesh region LNODETYPE 6 indicates that the node participates in a constraint other than a tied constraint as a master node LNODETYPE 7 indicates that the node participates in a constraint other than a tied constraint as a slave node LNODETYPE 10 indicates that a concentrated load is applied to the node ALOCAL NDIM Local coordinate system aligned with the tangent to the adaptive mesh domain at the node If the node is on the interior of the adaptive mesh domain ALOCAL will be set to the identity matrix In other cases the l direction is along an edge or in the plane of a flat surface When NDIM 2 the 2 direction is normal to the surface When NDIM 3 the 2 direction also lies in the plane of a flat surface or is arbitrary if the node is on an edge When NDIM 3 the 3 direction is normal to the surface or is arbitrary if the node is on an edge Number of coordinate dimensions TIME 1 Current value of step time TIME 2 Current
289. f the amplitude incremental integral AmpDoubleIntegral Current value of the amplitude incremental double integral Variables passed in for information ampName User specified amplitude name left justified 1 1 19 3 UAMP time iStepTime Current value of step time time iTotalTime Current value of total time ampValueold Old value of the amplitude from the previous increment dt Current stable time increment nSvars User defined number of solution dependent state variables associated with this amplitude definition lFlagsinfo Integer flag arrav with information regrading the current call to UAMP lFlagsinfo ilnitialization This flag is equal to 1 if UAMP is called from the initialization phase of the first analvsis step and is set to 0 otherwise lFlagsinfo iRegularInc This flag is equal to 1 if UAMP is called from a regular increment and is set to 0 otherwise lFlagsinfo iCuts Number of cutbacks in this increment 1FlagsInfo ikStep Step number nSensor Total number of sensors in the model sensorValues Array with sensor values at the end of the previous increment Each sensor value corresponds to a history output variable associated with the output database request defining the sensor sensorNames Array with user defined sensor names in the entire model left justified Each sensor name corresponds to a sensor value provided with the output database request All names will be converted to uppercase characters if low
290. f the increment You define the number of available state variables as described in Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual This variable is passed in as the value of the elastic energy density at the start of the increment and should be updated to the elastic energy density at the end of the increment This variable is used for output only and has no effect on other solution variables It contributes to the output variable ALLSE This variable should be defined as the incremental frictional dissipation The units are energy per unit area This variable is used for output only and has no effect on other solution variables It contributes to the output variables ALLFD and SFDR and related variables For computing its contribution to SFDR SFD is divided by the time increment This variable should be defined as the incremental dissipation due to plasticity effects in the interfacial constitutive behavior The units are energy per unit area This variable is used for output only and has no effect on other solution variables It contributes to the output variable ALLPD This variable should be defined as the incremental dissipation due to viscous effects in the interfacial constitutive behavior The units are energy per unit area This variable is used for output only and has no effect on other solution variables It contributes to the output variable ALLVD This variable should
291. f the user subroutines available for use in an Abaqus Explicit analvsis Each section discusses a particular subroutine The sections are organized alphabeticallv according to the subroutine name e Utility routines Section 2 1 covers all of the utility routines available for use in coding user subroutines Each section discusses a task that can be performed using a utility routine All of the utility routines associated with a particular task appear in the same section 1 0 1 User Subroutines USER SUBROUTINES e Abaqus Standard subroutines Section 1 1 e Abaqus Explicit subroutines Section 1 2 1 1 Abaqus Standard subroutines CREEP Section 1 1 1 DFLOW Section 1 1 2 DFLUX Section 1 1 3 DISP Section 1 1 4 DLOAD Section 1 1 5 FILM Section 1 1 6 FLOW Section 1 1 7 FRIC Section 1 1 8 FRIC_COEFE Section 1 1 9 GAPCON Section 1 1 10 GAPELECTR Section 1 1 11 HARDINI Section 1 1 12 HETVAL Section 1 1 13 MPC Section 1 1 14 ORIENT Section 1 1 15 RSURFU Section 1 1 16 SDVINL Section 1 1 17 SIGINI Section 1 1 18 UAMP Section 1 1 19 UANISOHYPER_INV Section 1 1 20 UANISOHYPER_STRAIN Section 1 1 21 UCORR Section 1 1 22 UDECURRENT Section 1 1 23 UDEMPOTENTIAL Section 1 1 24 UDMGINI Section 1 1 25 UEL Section 1 1 27 UELMAT Section
292. for all calls to user subroutines for this iteration 1 1 32 2 UFLUID If automatic time incrementation is not selected in the analvsis 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 ENER Energy per unit mass stored in the fluid This variable is used for energy output only and has no effect on the solution Variables passed in for information PRESS Fluid cavity pressure at the end of the increment For a linear perturbation step this is the base state pressure DPRESS Fluid cavity pressure increment For a linear perturbation step this value is zero PRESSI Fluid cavity pressure at the beginning of the analysis TEMP Fluid cavity temperature at the end of the increment For a linear perturbation step this is the base state temperature DTEMP Fluid cavity temperature increment For a linear perturbation step this value is zero TEMPI Fluid cavity temperature at the beginning of the analysis TIME 1 Current value of step time at the start of the increment TIME 2 Current value of total time at the start of the increment DTIME Time increment KSTEP Step number KINC Increment number NONUM Cavity reference node number 1 1 32 3 UFLUID FLNAME User specified fluid propertv name left justified LFLAG Linear perturbation flag for the step If this is a linear perturbation step LFLAG 1 For a gene
293. four d4 term 3 1 1 20 8 five d5 term 4 six d6 term 5 ui2 indx nI511 nI511 two d2 three two d3 term four three d4 term 2 five four d5 term 3 six five d6 term 4 I4 22 nI422 indxInv4 2 2 bi422 aInv nI422 term bi422 one ua 2 ua 2 e2 term 2 e3 term 3 e4 term 4 e5 term 5 e6 term 6 uil nI422 two e2 term three e3 term 2 four e4 term 3 five e5 term 4 six e6 term 5 ui2 indx nI422 n1422 two e2 three two e3 term four three e4 term 2 five four e5 term 3 six five te6 term 4 I5 22 nI522 indxInv5 2 2 bi522 aInv nI522 term bi522 one ua 2 ua 2 2 term 2 3 term 3 4 term 4 5 term 5 6 term 6 uil nI522 two f2 term three f3 term 2 four f4 term 3 five 5 term 4 six f6 term 5 ui2 indx nI522 nI522 two f2 1 1 20 9 UANISOHYPER_INV UANISOHVPER INV a three two f3 term four three f4 term 2 five four f5 term 3 six five f6 term 4 xXx I4 12 nI412 indxInv4 1 2 bi412 aInv ni412 term zeta 1 bi412 zeta l ua 2 ua 2 g2 term 2 g3 term 3 g4 term 4 g5 term 5 g6 term 6 uil nI412 zeta 1 two g2 term three g3 term 2 four g4 term 3 five g5 term 4 six g6 term 5 ui2 indx nI412 nI412 zeta 1 2 two g2 three two g3 term four three g4 term 2 five four g5 term
294. g of the analysis and current values during the analysis CMNAME User specified material name left justified 1 1 36 3 UHVPER 1 1 37 UHVPER User subroutine to define a hvperelastic material Product Abaqus Standard References e Hyperelastic behavior of rubberlike materials Section 21 5 1 of the Abaqus Analysis User s Manual e HYPERELASTIC e UMAT and UHYPER Section 4 1 21 of the Abaqus Verification Manual Overview User subroutine UHYPER e can be used to define the strain energy potential for isotropic hyperelastic material behavior e is called at all material calculation points of elements for which the material definition contains user defined hyperelastic behavior e can include material behavior dependent on field variables or state variables and e requires that the values of the derivatives of the strain energy density function of the hyperelastic material be defined with respect to the strain invariants Special considerations for various element types There are several special considerations that need to be noted Shells that calculate transverse shear energy When UHYPER is used to define the material response of shell elements that calculate transverse shear energy Abaqus Standard cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 of the Aba
295. ges in this iteration Abaqus Standard mav increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in the analvsis 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 Variables passed in for information DIRECT 3 3 An array containing the direction cosines of the material directions in terms of the global basis directions DIRECT 1 1 DIRECT 2 1 DIRECT 3 1 give the 1 2 3 components of the first material direction DIRECT 1 2 DIRECT 2 2 DIRECT 3 2 give the second material direction etc For shell and membrane elements the first two directions are in the plane of the element and the third direction is the normal This information is not available for beam elements T 3 3 An arrav containing the direction cosines of the material orientation components relative to the element basis directions This is the orientation that defines the material directions DIRECT in terms of the element basis directions For continuum elements T and DIRECT are identical For shell and membrane elements T 1 1 cosf T 1 2 sinf T 2 1 sinf T 2 2 cos8 T 3 3 1 0 and all other components are zero where is the counter
296. h user subroutine USDFLD to redefine any field variables before they are passed in and is described further in User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual Storage of stress and strain components In the stress and strain arrays and in the matrices DDSDDE DDSDDT and DRPLDE direct components are stored first followed by shear components There are NDI direct and NSHR engineering shear components The order of the components is defined in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual Since the number of active stress and strain components varies between element types the routine must be coded to provide for all element types with which it will be used 1 1 40 1 UMAT Defining local orientations If a local orientation Orientations Section 2 2 5 of the Abaqus Analysis User s Manual is used at the same point as user subroutine UMAT the stress and strain components will be in the local orientation and in the case of finite strain analvsis the basis svstem in which stress and strain components are stored rotates with the material Stabilitv You should ensure that the integration scheme coded in this routine is stable no direct provision is made to include a stabilitv limit in the time stepping scheme based on the calculations in UMAT Convergence rate DDSDDE and for coupled temperature displacement and coupled thermal electr
297. he base state Base state loading of type UnNU must be dealt with inside UELMAT ADLMAG K1 2 ADLMAG K1 3 etc are currently not used DDLMAG For general nonlinear steps DDLMAG contains the increments in the magnitudes of the distributed loads that are currently active on this element for distributed loads of type Un DDLMAG K1 1 is the increment of magnitude of the load for the current time increment The increment of load magnitude is needed to compute the external work contribution For distributed loads of type UnNU the load magnitude is defined in UELMAT therefore the corresponding entries in DDLMAG are zero For linear perturbation steps DDLMAG K1 K2 contains the perturbation in the magnitudes of the distributed loads that are currently active on this element for distributed loads of type Un K1 denotes the K1th perturbation load active on the element K2 is always 1 except for steady state dynamics where K2 1 for real loads and K2 2 for imaginary loads Perturbation loads of type UnNU must be dealt with inside UELMAT PREDEF An array containing the values of predefined field variables such as temperature in an uncoupled stress displacement analysis at the nodes of the element Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual The first index of the array K1 is either 1 or 2 with 1 indicating the value of the field variable at the end of the increment and 2 indicating the increment in the field v
298. he deviatoric elasticity tensor 92U OEE OEG there are ndir nshr ndir nshr 1 2 independent components These components are ordered using the following triangular storage scheme Component 2 D Case 3 D Case 1 OU OEG OES 8 U OE OFF 2 OU deG 85 0 U deG 85 3 U I IES WU 6EZ0ES 4 OU ES ES aU deG deg 5 U I IES 0 U 0E9 OES 6 U EZ IES 3 U kg IES l PU deG oE 0 U 0ES OES 8 U I OFF WU 6EZOET 9 WU AELOET PUJE 10 U I oE 3U 3 E 11 WU dE5 85 12 BU 6EZ 0ES 13 B U 6ES 0ES 14 OU 025 885 15 U I OES 16 OU deG 85 1 2 9 2 VUANISOHVPER STRAIN Component 2 D Case 3 D Case 17 0 U 0EG OFF 18 U kg 0a 19 BU 02085 20 U kg E 21 OU OES OF If Q denotes the component number of term 0 U de E in the above table and M and N with M lt N denote the component numbers of eg and z respectively in the table for second order tensors Q is given by the relationship Q M N x N 1 2 For example consider the term BU 0E 0ES The component numbers for and ES are M 1 and N 5 respectively giving Q 1 5 x 4 2 11 Special consideration for shell elements When VUANISOHYPER STRAIN is used to define the material response of shell elements Abaqus Explicit cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior S
299. he increment Stored in 3 D as F11 Po F33 Fiz F23 F31 F21 F32 Fis and in 2 D as Fi Foo F33 Pie Fa fieldNew nblock nfieldv Values of the user defined field variables at each material point at the end of the increment Example Using more than one user defined material model To use more than one user defined material model the variable cmname can be tested for different material names inside user subroutine VUMAT as illustrated below if cmname 1 4 eq MATI then call VUMAT MATI argument list else if cmname 1 4 eq MAT2 then call VUMAT MAT2 argument list end if 1 2 17 8 VUMAT VUMAT MAT1 and VUMAT MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2 respectively Subroutine VUMAT merely acts as a directory here The argument list can be the same as that used in subroutine VUMAT The material names must be in uppercase characters since cmname is passed in as an uppercase character string Example Elastic plastic material with kinematic hardening As a simple example of the coding of subroutine VUMAT consider the generalized plane strain case for an elastic plastic material with kinematic hardening The basic assumptions and definitions of the model are as follows Let be the current value of the stress and define S to be the deviatoric part of the stress The center of the yield surface in deviatoric stress space is given
300. he initial acceleration calculation or the calculation of accelerations after impact LFLAGS 3 100 Define perturbation quantities for output LFLAGS 4 0 The step is a general step LFLAGS 4 1 The step is a linear perturbation step LFLAGS 5 0 The current approximations to u etc were based on Newton corrections LFLAGS 5 1 The current approximations were found by extrapolation from the previous increment TIME 1 Current value of step time TIME 2 Current value of total time Scalar parameters DTIME Time increment PERIOD Time period of the current step NDOFEL Number of degrees of freedom in the element MLVARX Dimensioning parameter used when several displacement or right hand side vectors are used NRHS Number of load vectors NRHS is in most nonlinear problems it is 2 for the modified Riks static procedure Static stress analysis Section 6 2 2 of the Abaqus Analysis User s Manual and it is greater than 1 in some linear analysis procedures and during substructure generation NSVARS User defined number of solution dependent state variables associated with the element Defining the number of solution dependent variables that must be stored within the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual 1 1 27 7 UEL NPROPS User defined number of real propertv values associated with the element Defining the element propert
301. hese are passed in with the values interpolated from the nodes at the end of the current increment as specified with initial condition definitions predefined field variable definitions or user subroutine VUFIELD The updated values are used to calculate the values of material properties that are defined to depend on field variables and are passed into other user subroutines that are called at the material points Variable that can be updated stateNew nblock nstatev An array containing the solution dependent state variables at the material points In all cases stateNew can be updated in this subroutine and the updated values are passed into other user subroutines that are called at the material points The number of state variables associated with this material point is defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual Variables passed in for information nblock Number of material points to be processed in this call to VUSDFLD nstatev Number of user defined state variables that are associated with this material tvpe vou define this as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analvsis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined material properties ndir Number of direct components in a symmetric tensor nshr Number of
302. hese variables at the start of the current increment In most cases they should be updated to be the values at the end of the increment AmpDerivative Current value of the amplitude derivative AmpSecDerivative Current value of the amplitude second derivative AmpIncIntegral Current value of the amplitude incremental integral Variables passed in for information ampName User specified amplitude name left justified time iStepTime Current value of step time time iTotalTime Current value of total time VUAMP ampValueold Old value of the amplitude from the previous increment dt Current stable time increment nSvars User defined number of solution dependent state variables associated with this amplitude definition lFlagsInfo Integer flag array with information regrading the current call to VUAMP lFlagsinfo ilnitialization This flag is equal to 1 if VUAMP is called from the initialization phase of each step and is set to 0 otherwise lFlagsinfo iRegularInc This flag is equal to 1 if VUAMP is called from a regular increment and is set to 0 otherwise 1FlagsInfo ikStep Step number nSensor Total number of sensors in the model sensorValues Arrav with sensor values at the end of the previous increment Each sensor value corresponds to a historv output variable associated with the output database request defining the sensor sensorNames Arrav with user defined sensor names in the entire model left justified Each
303. hs kblock 4 forceTra internal energy calculation 1 2 10 12 VUEL alenOld svars kblock 1 fElasTraOld svars kblock 2 energy kblock iElIe energy kblock iElIe half fElasTra fElasTraOld alen alenOld update state variables svars kblock 1 alen svars kblock 2 fElasTra end do end if end if return end 1 2 10 13 VUFIELD 1 2 11 VUFIELD User subroutine to specify predefined field variables Product Abaqus Explicit References e Predefined fields Section 32 6 1 of the Abaqus Analysis User s Manual e FIELD Overview User subroutine VUFIELD e allows you to prescribe predefined field variables at the nodes of a model the predefined field variables at a node can be updated individually or a number of field variables at the nodes can be updated simultaneously e can be called for blocks of nodes for which the field variable values are defined in the subroutine e ignores any field variable values specified directly e can be used to modify field variable values read from a results file and e can be used in conjunction with user subroutine VUSDFLD such that the field variables that are passed in from VUFIELD and interpolated to the material points can be modified such changes are local to material point values and nodal field variable values remain unaffected Updating field variables Two different methods are provided for updating field variables Individu
304. i arrav i udsecurr currtvp Currentiv equal to 1 i arrav i udsecurr phase UDSECURRENT This value is either 1 i udsecurr phase real or 2 i udsecurr phase imag depending on whether the current call to the user subroutine defines the real in phase or the imaginarv out of phase part of the surface current densitv vector i arrav i udsecurr proc Currently equal to 1 niarray Size of arrav i array Currently equal to 6 r arrav ir udsecurr time 1 Excitation frequencv in cvcles time r arrav ir udsecurr time 2 Excitation frequencv in radians time nrarrav Size of array r_array Currently equal to 2 c arrav ic udsecurr surf Surface name ncarrav Size of arrav c arrav Currentiv equal to 1 1 1 26 3 UEL 1 1 27 UEL User subroutine to define an element Product Abaqus Standard WARNING This feature is intended for advanced users onlv Its use in all but the simplest test examples will require considerable coding bv the user developer User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual should be read before proceeding References e User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual e UEL PROPERTY e USER ELEMENT Overview User subroutine UEL e will be called for each element that is of a general user defined element tvpe i e not defined bv a linear stiffness or mass matrix read either directly or from results file data e
305. iated with the drill degree of freedom rotation about the surface normal See Section controls Section 26 1 4 ofthe Abaqus Analysis User s Manual User subroutine interface SUBROUTINE UANISOHYPER INV AINV UA ZETA NFIBERS NINV 1 UIl UI2 UI3 TEMP NOEL CMNAME INCMPFLAG IHYBFLAG 2 NUMSTATEV STATEV NUMFIELDV FIELDV FIELDVINC 3 NUMPROPS PROPS c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME DIMENSION AINV NINV UA 2 ZETA NFIBERS NFIBERS 1 2 UI1 NINV UI2 NINV NINV 1 2 UI3 NINV NINV 1 2 STATEV NUMSTATEV FIELDV NUMFIELDV FIELDVINC NUMFIELDV PROPS NUMPROPS u FW DN user coding to define UA UI1 UI2 U1I3 STATEV 1 1 20 3 UANISOHVPER INV RETURN END Variables to be defined UA 1 U strain energy density function For a compressible material at least one derivative involving Jshould be nonzero For an incompressible material all derivatives involving J are ignored UA 2 Use the deviatoric part of the strain energy density of the primary material response This quantity is needed only if the current material definition also includes Mullins effect see Mullins effect Section 21 6 1 of the Abaqus Analysis User s Manual UI1 NINV Array of derivatives of strain energy potential with respect to the scalar invariants 0U 01 ordered using the enumeration scheme discussed above UI2 NINV NINV 1 2 Array of second derivatives of strain energy p
306. ic and fullv coupled temperature displacement analvses stateNew nblock nstatev Array containing the state variables at the material points at the end of the increment The allocation of this array is described in Solution dependent state variables in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual 1 2 14 2 VUHARD Variables passed in for information nblock Number of material points to be processed in this call to VUHARD jElem nblock Array of element numbers kIntPt Integration point number kLayer Layer number for composite shells kSecPt Section point number within the current layer lanneal Flag indicating whether the routine is being called during an annealing process Lanneal 0 indicates that the routine is being called during a normal mechanics increment lanneal I indicates that this is an annealing process and the internal state variables stateNew should be reinitialized if necessary Abaqus Explicit will automatically set the stresses stretches and state to a value of zero during the annealing process stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime dt Time increment size cmname Material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ character string To av
307. ical structural analvses DDSDDT DRPLDE and DRPLDT must be defined accurately if rapid convergence of the overall Newton scheme is to be achieved In most cases the accuracy of this definition is the most important factor governing the convergence rate Since nonsymmetric equation solution is as much as four times as expensive as the corresponding symmetric system if the constitutive Jacobian DDSDDE is only slightly nonsymmetric for example a frictional material with a small friction angle it may be less expensive computationally to use a symmetric approximation and accept a slower convergence rate An incorrect definition of the material Jacobian affects only the convergence rate the results if obtained are unaffected Special considerations for various element types There are several special considerations that need to be noted Availability of deformation gradient The deformation gradient is available for solid continuum elements membranes and finite strain shells S3 S3R S4 S4R SAXs and SAXAs It is not available for beams or small strain shells It is stored as a3 X 3 matrix with component equivalence DFGRDO I J Fij For fully integrated first order isoparametric elements 4 node quadrilaterals in two dimensions and 8 node hexahedra in three dimensions the selectively reduced integration technique is used also known as the B technique Thus a modified deformation gradient is passed into user subroutine UMAT
308. ical structural analyses 1 1 17 3 SIGINI 1 1 18 SIGINI User subroutine to define an initial stress field Product Abaqus Standard References e Initial conditions in Abaqus Standard and Abaqus Explicit Section 32 2 1 of the Abaqus Analysis User s Manual e INITIAL CONDITIONS Overview User subroutine SIGINI e will be called for user subroutine defined initial stress fields at particular material points these are the effective stress values for soils analvsis e is called at the start of the analysis for each applicable material calculation point in the model and e can be used to define all active initial stress components at material points as functions of coordinates element number integration point number etc Stress components The number of stress components that must be defined depends on the element tvpe for which this call is being made Part VI Elements of the Abaqus Analysis User s Manual describes the element stresses The order in which the components must be defined is the same as in the element definition For example in three dimensional continuum elements six stress components must be defined in the order 011 022 033 012 013 023 Initial stress field equilibrium You should ensure that the initial stress field is in equilibrium with the applied forces and distributed loads by using a static step or a geostatic step to check the equilibrium of the initial stress field befo
309. ice No part of this documentation may be reproduced or distributed in any form without prior written permission of Dassault Systemes or its subsidiary The Abaqus Software is a product of Dassault Syst mes Simulia Corp Providence RI USA Dassault Syst mes 2011 Abaqus the 3DS logo SIMULIA CATIA and Unified FEA are trademarks or registered trademarks of Dassault Syst mes or its subsidiaries in the United States and or other countries Other company product and service names may be trademarks or service marks of their respective owners For additional information concerning trademarks copyrights and licenses see the Legal Notices in the Abaqus 6 11 Release Notes SIMULIA Worldwide Headquarters SIMULIA European Headquarters United States Australia Austria Benelux Canada China Finland France Germanv India Italv Japan Korea Latin America Scandinavia United Kingdom Czech amp Slovak Republics Greece Israel Malaysia New Zealand Poland Russia Belarus amp Ukraine Singapore South Africa Spain amp Portugal Taiwan Thailand Turkey Locations Rising Sun Mills 166 Valley Street Providence RI 02909 2499 Tel 1 401 276 4400 Fax 1 401 276 4408 simulia support 3ds com http www simulia com Stationsplein 8 K 6221 BT Maastricht The Netherlands Tel 31 43 7999 084 Fax 31 43 7999 306 simulia europe info 3ds com Dassault Systemes Centers of Simulation Excellence Fremo
310. icular node in the list of nodes on the surface For example there are nS1vNod nodes on the slave surface Number n n 1 2 nsivNod is the surface node number of the nth node in this list j 1vUid n is the user defined global number of this node An Abaqus Explicit model can be defined in terms of an assembly of part instances see Defining an assembly Section 2 10 1 of the Abaqus Analysis User s Manual In such models a node number in jS1vUid is an internally generated node number If the original node number and part instance name are required call the utility routine VGETPARTINFO see Obtaining part information Section 2 1 5 Contact points The nodes on the slave surface that are in contact in the current time increment are defined as contact points The number of contact points is passed into this subroutine as nContact The array jConSlvid nContact gives the surface node numbers for the contact points 1 2 4 1 VFRIC Local coordinate svstem A local coordinate svstem is defined for each contact point to facilitate specification of frictional forces and incremental slips The local l direction for both two dimensional and three dimensional contact is tangential to the master surface and it is defined by ti ds ds where ds is the incremental slip vector The incremental slip vector used to define ti corresponds to the incremental slip in the current time increment for penaltv contact and the predicted incr
311. id pore pressure values at all nodes of a coupled pore fluid diffusion and stress analysis whenever user defined initial pore pressure conditions are specified User subroutine interface SUBROUTINE UPOREP UWO COORDS NODE c INCLUDE ABA PARAM INC c DIMENSION COORDS 3 c user coding to define UWO RETURN END Variable to be defined UWO Initial fluid pore pressure 1 1 45 1 UPOREP Variables passed in for information COORDS An array containing the current coordinates of this node NODE Node number 1 1 45 2 UPRESS 1 1 46 UPRESS User subroutine to specify prescribed equivalent pressure stress conditions Product Abaqus Standard References e Mass diffusion analysis Section 6 9 1 of the Abaqus Analysis User s Manual e PRESSURE STRESS e UTEMP UFIELD UMASFL and UPRESS Section 4 1 25 of the Abaqus Verification Manual Overview User subroutine UPRESS e allows you to prescribe equivalent pressure stress values at the nodes of a model e will be called in a mass diffusion analvsis whenever a current value of equivalent pressure stress is needed for a node that has user defined pressure stress conditions e can be used to modify any pressure stresses read in from a results file and e ignores any equivalent pressure stresses provided for the associated pressure stress definition outside the user subroutine User subroutine interface SUBROUTINE UPRESS PRESS KSTEP KINC
312. ied orientation name left justified with one exception When an overall section orientation is specified for a composite solid or shell section and the individual layer orientations are specified by an orientation angle Abaqus defines an internal orientation name to represent the actual orientation of the layer To avoid internal names provide an orientation name rather than an orientation angle as part of the layer definition for each individual layer of a composite section NNODES Number of element nodes This value is two when the subroutine is called for use with a kinematic coupling definition where the two nodes are the reference and current coupling node When used with a distributing coupling definition this number is equal to the number of coupling nodes plus one for the reference node It is one when used with inertia relief loads since the local basis is defined at the reference point 1 1 15 3 ORIENT CNODES An arrav containing the original coordinates of the nodes When used with a kinematic coupling definition the first entrv defines the reference node coordinates and the second entrv defines the coupling node coordinates When used with a distributing coupling definition the first entrv defines the reference node coordinates and the subsequent entries define the coupling node coordinates in the order defined bv the JNNUM arrav When used with inertia relief loads this arrav is not used For all other uses the entrv order fol
313. ieldv nprops ndir nshr 1 2 18 7 VUSDFLD VUSDFLD jElem kIntPt kLayer kSecPt stepTime totalTime dt cmname coordMp direct T charLength props stateOld xXx c Write only c qaaaa stateNew field include vaba param inc dimension jElem nblock coordMp nblock direct nblock 3 3 T nblock 3 3 charLength nblock props nprops stateOld nblock nstatev stateNew nblock nstatev field nblock nfieldv character 80 cmname x Local arrays from vgetvrm are dimensioned to maximum block size maxblk parameter nrData 6 character 3 cData maxblk nrData dimension rData maxblk nrData jData maxblk nrData jStatus 1 call vgetvrm LE rData jData cData jStatus if jStatus ne 0 then call xplb abqerr 2 Utilitv routine VGETVRM failed to get variable 0 zero call xplb_exit end if call setField nblock nstatev nfieldv nrData rData stateOld stateNew field return end subroutine setField nblock nstatev nfieldv nrData strain stateOld stateNew field include vaba param inc 1 2 18 8 VUSDFLD dimension stateOld nblock nstatev stateNew nblock nstatev field nblock nfieldv strain nblock nrData do k 1 nblock Absolute value of current strain eps abs strain k 1 Maximum value of strain up to this point in time epsmax stateOld k 1 Use the maximum strain as a field variable fie
314. ies in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual NJPROP User defined number of integer property values associated with the element Defining the element properties in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual MCRD MCRD is defined as the maximum of the user defined maximum number of coordinates needed at any node point Defining the maximum number of coordinates needed at any nodal point in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual and the value of the largest active degree of freedom of the user element that is less than or equal to 3 For example if you specify that the maximum number of coordinates is 1 and the active degrees of freedom of the user element are 2 3 and 6 MCRD will be 3 If you specify that the maximum number of coordinates is 2 and the active degrees of freedom of the user element are 11 and 12 MCRD will be 2 NNODE User defined number of nodes on the element Defining the number of nodes associated with the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual JTYPE Integer defining the element type This is the user defined integer value n in element type Un Assigning an element type key to a user defined element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual KSTEP Current step numb
315. if sensor crosses zero the second time if nrCrossings eq 2 then ampValueNew zero lFlagsDefine iConcludeStep 1 end if store sensor value svars 1 vTrans_CUl if 1 1 19 7 UANISOHVPER INV 1 1 20 UANISOHYPER_INV User subroutine to define anisotropic hvperelastic material behavior using the invariant formulation Product Abaqus Standard References e Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e ANISOTROPIC HYPERELASTIC e UANISOHYPER INV and VUANISOHYPER_INV Section 4 1 13 of the Abaqus Verification Manual Overview User subroutine UANISOHYPER_ INV e can be used to define the strain energy potential of anisotropic hyperelastic materials as a function of an irreducible set of scalar invariants e is called at all material calculation points of elements for which the material definition contains user defined anisotropic hyperelastic behavior with an invariant based formulation Anisotropic hyperelastic behavior Section 21 5 3 of the Abaqus Analysis User s Manual e can include material behavior dependent on field variables or state variables and e requires that the values of the derivatives of the strain energy density function of the anisotropic hyperelastic material be defined with respect to the scalar invariants Enumeration of invariants To facilitate coding and provide easy access to the array of invariants passed to user subroutine
316. iffness associated with the drill degree of freedom rotation about the surface normal See Section controls Section 26 1 4 of the Abaqus Analysis User s Manual 1 1 36 UHVPEL User subroutine interface SUBROUTINE UHYPEL E GNU STRAIN NDI NSHR EINV1 EINV2 EINV3 1 COORDS NOEL TEMP PREDEF CMNAME c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME c DIMENSION STRAIN COORDS 3 PREDEF user coding to define E and GNU RETURN END Variables to be defined E Young s modulus GNU Poisson s ratio Variables passed in for information STRAIN Array containing the total elastic strains e NDI Number of direct strain components at this point NSHR Number of shear strain components at this point EINVI I trace e the first strain invariant EINV2 Is 1 2 e e the second strain invariant EINV3 I det e the third strain invariant 1 1 36 2 UHVPEL COORDS An array containing the coordinates of the material point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point NOEL Element number TEMP Current temperature at this point PREDEF An array containing current values of the predefined field variables at this point initial values at the beginnin
317. iform volume current density in an eddy current analysis 1 1 23 UDEMPOTENTIAL Define nonuniform magnetic vector potential on a surface in an eddy current analysis 1 1 24 UDMGINI Define the damage initiation criterion 1 1 25 UDSECURRENT Define nonuniform surface current density in an eddy current analysis 1 1 26 CONTENTS UEL Define an element 1 1 27 UELMAT Define an element with access to materials 1 1 28 UEXPAN Define incremental thermal strains 1 1 29 UEXTERNALDB Manage user defined external databases and calculate model independent history information 1 1 30 UFIELD Specify predefined field variables 1 1 31 UFLUID Define fluid density and fluid compliance for hydrostatic fluid elements 1 1 32 UFLUIDLEAKOFF Define the fluid leak off coefficients for pore pressure cohesive elements 1 1 33 UGENS Define the mechanical behavior of a shell section 1 1 34 UHARD Define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models 1 1 35 UHYPEL Define a hypoelastic stress strain relation 1 1 36 UHYPER Define a hyperelastic material 1 1 37 UINTER Define surface interaction behavior for contact surfaces 1 1 38 UMASFL Specify prescribed mass flow rate conditions for a convection diffusion heat transfer analysis 1 1 39 UMAT Define a material s mechanical behavior 1 1 40 UMATHT Define a material s thermal behavior 1 1 41 UMESHMOTION Specify mesh motion constraints during a
318. in a user subroutine and e ignores any dependencies or data specified for the gap electrical conductance outside the user subroutine User subroutine interface SUBROUTINE GAPELECTR SIGMA D TEMP PREDEF TIME CINAME 1 SLNAME MSNAME COORDS NODE NPRED KSTEP KINC c INCLUDE ABA PARAM INC c CHARACTER 80 CINAME SLNAME MSNAME c DIMENSION SIGMA 5 D 2 TEMP 2 PREDEF 2 TIME 2 1 COORDS 2 3 user coding to define SIGMA 1 SIGMA 5 RETURN END 1 1 11 1 GAPELECTR Variables to be defined SIGMA 1 Gap electrical conductance 9 SIGMA 2 99 004 derivative of the gap electrical conductance with respect to the temperature of point A If the gap electrical conductance is not a function of 64 SIGMA 2 0 0 SIGMA 3 900 00p derivative of the gap electrical conductance with respect to the temperature of point B If the gap electrical conductance is not a function of 6g SIGMA 3 0 0 SIGMA 4 99 0d derivative of the gap electrical conductance with respect to the clearance between the bodies If the gap electrical conductance is not a function of gap clearance SIGMA 4 0 0 This variable needs to be defined only for a fully coupled thermal electrical structural analysis SIGMA 5 00 Op derivative of the gap electrical conductance with respect to the pressure between the bodies If the gap electrical conductance is not a function of the pressure SIGMA 5 0 0 This variable needs
319. ine S A stress or a strain tensor LSTR An identifier LSTR I indicates that S contains stresses LSTR 2 indicates that S contains strains NDI Number of direct components NSHR Number of shear components Variables returned from the utility routine PS I I 1 2 3 The three principal values AN K1 I I 1 2 3 The direction cosines of the principal directions corresponding to PS K1 ROTSIG rotate a tensor Interface CALL ROTSIG S R SPRIME LSTR NDI NSHR Variables to be provided to the utility routine S A stress or strain tensor NDI Number of direct components NSHR Number of shear components 2 1 11 3 INVARIANTS AND PRINCIPAL VALUES Rotation matrix LSTR An identifier LSTR 1 indicates S contains stresses LSTR 2 indicates S contains strains Variable returned from the utility routine SPRIME The rotated stress or strain tensor Typical usage In user subroutine UMAT it is often necessary to rotate tensors during a finite strain analysis The matrix DROT that is passed into UMAT represents the incremental rotation of the material basis system in which the stress and strain are stored For an elastic plastic material that hardens isotropically the elastic and plastic strain tensors must be rotated to account for the evolution of the material directions In this case S is the elastic or plastic strain tensor and R is the incremental rotation DROT 2 1 11 4 INVARIANTS AND PRINCIPAL
320. ines overview Section 17 1 1 of the Abaqus Analysis User s Manual NOEL User defined element number 1 1 29 3 UEXTERNALDB 1 1 30 UEXTERNALDB User subroutine to manage user defined external databases and calculate model independent historv information Product Abaqus Standard Reference e User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual Overview User subroutine UEXTERNALDB e is called once each at the beginning of the analysis at the beginning of each increment at the end of each increment and at the end of the analysis in addition the subroutine is also called once at the beginning of a restart analvsis e canbeused to communicate between other software and user subroutines within Abaqus Standard e can be used to open external files needed for other user subroutines at the beginning of the analysis and to close those files at the end of the analvsis e can be used to calculate or read history information at the beginning of each increment This information can be written to user defined COMMON block variables or external files for use during the analysis by other user subroutines and e can be used to write the current values of the user calculated history information to external files User subroutine interface SUBROUTINE UEXTERNALDB LOP LRESTART TIME DTIME KSTEP KINC c INCLUDE ABA PARAM INC c DIMENSION TIME 2 c user coding to set up
321. ines overview Section 17 1 1 of the Abaqus Analysis User s Manual and must be returned as values at the end of the increment Variables passed in for information TEMP Current temperature at this point 1 1 21 4 UANISOHVPER STRAIN NOEL Element number CMNAME User specified material name left justified NDI Number of direct stress components at this point NSHR Number of shear components at this point NTENS Size of the stress or strain component array NDI NSHR INCMPFLAG Incompressibilitv flag defined to be 1 if the material is specified as incompressible or 0 if the material is specified as compressible IHXBFLAG Hybrid formulation flag defined to be 1 for hybrid elements 0 otherwise NUMSTATEV User defined number of solution dependent state variables associated with this material see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual NUMFIELDV Number of field variables FIELDV Array of interpolated values of predefined field variables at this material point at the end of the increment based on the values read in at the nodes initial values at the beginning of the analysis and current values during the analysis FIELDVINC Array of increments of predefined field variables at this material point for this increment including any values updated by user subroutine USDFLD NUMPROPS Number of material properties entered for
322. inition JLTYP 0 For a body force or an element based load the surface name is passed in as a blank 1 2 2 4 1 2 3 VFABRIC VFABRIC User subroutine to define fabric material behavior Product Abaqus Explicit WARNING The use of this user subroutine generallv requires considerable expertise You are cautioned that the implementation of any realistic constitutive model requires extensive development and testing Initial testing on a single element model with prescribed traction loading is stronglv recommended References Fabric material behavior Section 22 4 1 of the Abaqus Analysis User s Manual x FABRIC Overview User subroutine VFABRIC is used to define the mechanical constitutive behavior of a fabric material in the plane of the fabric is valid for materials that exhibit two structural directions that may not be orthogonal to each other with deformation is used to update the nominal fabric stresses for a given nominal fabric strain where the direct strains are defined as the nominal strain measured along the two yarn directions of the fabric and the engineering shear strain is defined as the drop in the angle between the two yarn directions going from the reference configuration to the current configuration can be used with elements under plane stress conditions will be called for blocks of material calculation points for which the material is defined in a user subroutine Material data definition
323. inward which is the opposite of what is defined in the conventions for shell elements the normal definition is consistent with the defined conventions For edges pressures on two dimensional continuum elements and two dimensional beams and pipes the first vector is the normal to the edge the second vector is the tangent to the edge and if ndim 3 the third vector will be a unit normal in the out of plane direction For three dimensional beam and pipe elements the first and second vectors are the local axes n1 n2 and the third vector is the tangent vector t as defined in Beam element cross section orientation Section 28 3 4 of the Abaqus Analysis User s Manual jltvp Key that identifies the distributed load type The load type may be a body force a surface based load or an element based surface load For element based surface loads this variable identifies the element face for which this call to VDLOAD is being made See Part VI Elements of the Abaqus Analysis User s Manual for element load type identification This information is useful when several different nonuniform distributed loads are being imposed on an element at the same time The key is as follows Jltype Load type 0 Surface based load 1 BXNU 2 BYNU 3 BZNU 20 PNU 21 PINU 22 P2NU 23 P3NU 24 P4NU 25 PSNU 26 P6NU 27 PINU 28 PENU 41 PXNU 42 PYNU 43 PZNU 1 2 2 3 VDLOAD sname Surface name for a surface based load def
324. ipRate pressure tempAvg fieldAvg Ka xXx include vaba param inc dimension fCoef nBlock fCoefDeriv nBlock 3 props nProps slipRate nBlock pressure nBlock tempAvg nBlock fieldAvg nBlock nFields parameter iKStep 1 1 2 5 1 VFRIC COEF iKInc 2 nFlags 2 Cc parameter iTimStep 1 iTimGlb 2 iDTimCur 3 nData 3 c dimension jFlags nFlags rData nData e character 80 surfint surfSlv surfMst e user coding to define Coef G return end Variables to be defined fCoef nBlock This array must be updated to the current values of the friction coefficient for all contacting points fCoefDeriv nBlock 3 This array is not applicable to Abaqus Explicit analyses Variables passed in for information nBlock Number of contacting points to be processed in this call to VFRIC_COEF nProps User specified number of property values associated with this friction model nTemp 1 if the temperature is defined and 0 if the temperature is not defined nFields Number of user specified field variables jFlag 1 Step number jFlag 2 Increment number 1 2 5 2 VFRIC COEF rData 1 Value of step time rData 2 Value of total time rData 3 Current increment in time from t teurr At to t teurr surfint User specified surface interaction name left justified surfSlv Slave surface name not applicable to general contact surfMst
325. is computed as afriel Oold Atrace Ae I 2uNe new where the subscripts old and new refer to the beginning and end of the increment respectively If the trial stress does not exceed the yield stress the new stress is set equal to the trial stress If the yield stress is exceeded plasticity occurs in the increment We then write the incremental analogs of the rate equations as Onew gitial _ 2u Ae gitial u 21 A7Q new new 2 Anew old gHATQ 2 HER N Ay yAt where From the definition of the normal to the yield surface at the end of the increment Q 1 2 17 10 VUMAT 2 Qnew ag Snew This can be expanded using the incremental equations as 2 2 l Qold gHATQ 3009 Sire Ay2uQ Taking the tensor product of this equation with Q using the yield condition at the end of the increment and solving for Ay 1 a 1 2 2 Ar trial trial ma l 1 2 H 3u new Eneu 370 The value for Ay is used in the incremental equations to determine O new Anew and El u This algorithm is often referred to as an elastic predictor radial return algorithm because the correction to the trial stress under the active plastic loading condition returns the stress state to the yield surface along the direction defined by the vector from the center of the yield surface to the elastic trial stress The subroutine would be coded as follows subroutine vumat C Read only 1 nblock ndir nshr n
326. is restarted This can be avoided by removing the LOVRWRT 1 statement and recoding the routine to read both the previous and the current increment to check that the Mises stress increases from one increment to the next in this case vou must correctiv handle the first increment written to the results file as there will be no previous increment The results file must also be properlv appended on restart if you wish to compare the values of Mises stress between the first increment of a restart and the final increment of the job being restarted This approach has the disadvantage that the results file mav become quite large as no information in the file will be overwritten SUBROUTINE URDFIL LSTOP LOVRWRT KSTEP KINC DTIME TIME c INCLUDE ABA PARAM INC c DIMENSION ARRAY 513 JRRAY NPRECD 513 TIME 2 EQUIVALENCE ARRAY 1 JRRAY 1 1 c C INITIALIZE THE OLD MAXIMUM FOR A JOB THAT IS BEING RESTARTED C THIS VALUE SHOULD BE SET TO THE MAXIMUM MISES STRESS IN THE C ORIGINAL ANALYSIS c DATA OLDMAX 1 D0 c CURRMAX 0 DO c C FIND CURRENT INCREMENT c CALL POSFIL KSTEP KINC ARRAY JRCD c C SEARCH FOR THE HIGHEST VALUE OF MISES STRESS C AND STORE THIS IN CURRMAX c DO Kl 1 999999 CALL DBFILE 0 ARRAY JRCD IF JRCD NE O GO TO 110 KEY JRRAY 1 2 IF KEY EQ 12 THEN IF ARRAY 3 GT CURRMAX CURRMAX ARRAY 3 END IF END DO 110 CONTINUE c C COMPLETED READING OF CURRENT INCREMENT NOW CHECK TO C SEE IF VALUE OF MISES STRESS HAS
327. is user defined hyperelastic material PROPS Array of material properties entered for this user defined hyperelastic material TEMP Temperature at the start of the increment DTEMP Increment of temperature NUMFIELDV Number of field variables FIELDV Array of interpolated values of predefined field variables at this material point at the beginning of the increment based on the values read in at the nodes initial values at the beginning of the analysis and current values during the analysis FIELDVINC Array of increments of predefined field variables at this material point for this increment this includes any values updated by user subroutine USDFLD LINPER Linear perturbation flag LINPER I if the step is a linear perturbation step LINPER 0 if the step is a general step 1 1 44 3 UPOREP 1 1 45 UPOREP User subroutine to define initial fluid pore pressure Product Abaqus Standard References e Initial conditions in Abaqus Standard and Abaqus Explicit Section 32 2 1 ofthe Abaqus Analysis User s Manual e Coupled pore fluid diffusion and stress analysis Section 6 8 1 of the Abaqus Analysis User s Manual e INITIAL CONDITIONS Overview User subroutine UPOREP e allows for the specification of the initial pore pressure values of a porous medium e can be used to define initial pore pressure values as functions of nodal coordinates and or node numbers and e will be called to define initial flu
328. iscoelastic effects will not be taken into account this variable is passed in as zero CMNAME User specified material name left justified 1 1 52 2 UTRS COORDS An array containing the coordinates of the material point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point 1 1 52 3 1 1 53 UVARM UVARM User subroutine to generate element output Product Abaqus Standard References Obtaining material point information in an Abaqus Standard analvsis Section 2 1 6 xUSER OUTPUT VARIABLES UVARM Section 4 1 26 of the Abaqus Verification Manual Overview User subroutine UVARM will be called at all material calculation points of elements for which the material definition includes the specification of user defined output variables may be called multiple times for each material point in an increment as Abaqus Standard iterates to a converged solution will be called for each increment in a step allows vou to define output quantities that are functions of anv of the available integration point quantities listed in the Output Variable Identifiers table Abaqus Standard output variable identifiers Section 4 2 1 of the Abaqus Analysis User s Manual allows vou to define the material directions as output variables
329. itation frequency in radians time nrarrav Size of array r_array Currently equal to 2 c arrav ic udempot surf Surface name ncarrav Size of arrav c arrav Currentiv equal to 1 1 1 24 3 1 1 25 UDMGINI UDMGINI User subroutine to define the damage initiation criterion Product Abaqus Standard References Progressive damage and failure Section 23 1 1 of the Abaqus Analysis User s Manual Modeling discontinuities as an enriched feature using the extended finite element method Section 10 7 1 of the Abaqus Analysis User s Manual DAMAGE INITIATION Overview User subroutine UDMGINI can be used to specify a user defined damage initiation criterion allows the specification of more than one failure mechanism in an element with the most severe one governing the actual failure can be used in combination with several Abaqus built in damage evolution models with each model corresponding to a particular failure mechanism will be called at all integration points of elements for which the material definition contains user defined damage initiation criterion can call utility routine GETVRM to access material point data and is currently available only for enriched elements User subroutine interface SUBROUTINE UDMGINI FINDEX NFINDEX FNORMAL NDI NSHR NTENS PROPS 1 NPROPS STATEV NSTATEV STRESS STRAIN STRAINEE LXFEM TIME 2 DTIME TEMP DTEMP PREDEF DPRED NFIELD COORDS NOEL N
330. j d2UdE11dE22 dE22Dj d2UdE11dE33 dE33Dj terml dUdE22 xpow d2UdE22dEll dE11Dj d2UdE22dE22 dE22Dj d2UdE22dE33 dE33Dj terml dUdE33 xpow d2UdE33dEll dE11Dj 1 2 9 11 VUANISOHVPER STRAIN a AARN d2UdE33dE22 dE22Dj d2UdE33dE33 dE33Dj terml dUdEl2 xpow two d2UdE12dE12 dE12Dj terml dUdE23 xpow two d2UdE23dE23 dE23Dj terml dUdE13 xpow two d2UdE13dE13 dE13Dj d2uDeDj k 4 d2uDeDj k 5 d2uDeDj k 6 end do return end integer function indx i j include vaba param inc Function to map index from Square to Triangular storage of svmmetric matrix ii ji min i j max i j indx ii jj jj 1 2 return end 1 2 9 12 VUEL 1 2 10 VUEL User subroutine to define an element Product Abaqus Explicit WARNING This feature is intended for advanced users only Its use in all but the simplest test examples will require considerable coding bv the user developer User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual should be read before proceeding References e User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual e User defined element librarv Section 31 15 2 of the Abaqus Analvsis User s Manual e UEL Section 1 1 27 e UEL PROPERTY e USER ELEMENT Overview User subroutine VUEL e will be called for each element that is of a general u
331. ket behavior directly using a gasket behavior model Section 31 6 6 of the Abaqus Analysis User s Manual e CAP CREEP e CREEP e DRUCKER PRAGER CREEP e SWELLING e Verification of creep integration Section 3 2 6 of the Abaqus Benchmarks Manual Overview User subroutine CREEP will be called at all integration points of elements for which the material definition contains user subroutine defined metal creep time dependent volumetric swelling Drucker Prager creep or cap creep behavior during procedures that allow viscoplastic response of the above type to occur such as the quasi static procedure This subroutine will also be called at all integration points of gasket elements for which the behavior definition contains user subroutine defined creep If user subroutine CREEP is used to define a material behavior the subroutine e is intended to provide the uniaxial creep laws that are to be included in a general time dependent viscoplastic material formulation e can be used in the coupled temperature displacement Fully coupled thermal stress analysis Section 6 5 4 of the Abaqus Analysis User s Manual coupled thermal electrical structural Fully coupled thermal electrical structural analysis Section 6 7 4 of the Abaqus Analysis User s Manual soils Coupled pore fluid diffusion and stress analysis Section 6 8 1 of the Abaqus Analysis User s Manual and quasi static Quasi static anal
332. l 81 45 470 9381 isight jp info 3ds com Mapo Gu Seoul Tel 82 2 785 6707 8 simulia kr info 3ds com Puerto Madero Buenos Aires Tel 54 11 4312 8700 Horacio Burbridge 3ds com V ster s Sweden Tel 46 21 150870 simulia nordic info 3ds com Warrington Tel 44 1925 830900 simulia uk info 3ds com Authorized Support Centers Synerma s r 0 Ps ry Prague West Tel 420 603 145 769 abaqus synerma cz 3 Dimensional Data Systems Crete Tel 30 2821040012 support 3dds gr ADCOM Givataim Tel 972 3 7325311 shmulik keidar adcomsim co il WorleyParsons Advanced Analysis Kuala Lumpur Tel 603 2039 9000 abaqus my worleyparsons com Matrix Applied Computing Ltd Auckland Tel 64 9 623 1223 abaqus tech matrix co nz BudSoft Sp z 0 0 Poznan Tel 48 61 8508 466 info budsoft com pl TESIS Ltd Moscow Tel 7 495 612 44 22 info tesis com ru WorlevParsons Advanced Analysis Singapore Tel 65 6735 8444 abaqus sg worlevparsons com Finite Element Analysis Services Pty Ltd Parklands Tel 27 21 556 6462 feas feas co za Principia Ingenieros Consultores S A Madrid Tel 34 91 209 1482 simulia principia es Simutech Solution Corporation Taipei R O C Tel 886 2 2507 9550 lucille simutech com tw WorleyParsons Advanced Analysis Singapore Tel 65 6735 8444 abaqus sg worleyparsons com A Ztech Ltd Istanbul Tel 90 216 361 8850 info a ztech com tr S Complete contact information is available at http www si
333. l see User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual You must specify the state variable number controlling the element deletion flag when you allocate space for the solution dependent state variables as explained in User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual The deletion state variable should be set to a value of one or zero in VUMAT A value of one indicates that the material point is active while a value of zero indicates that Abaqus Explicit should delete the material point from the model by setting the stresses to zero The structure of the block of material points passed to user subroutine VUMAT remains unchanged during the analysis deleted material points are not removed from the block Abaqus Explicit will pass zero stresses and strain increments for all deleted material points Once a material point has been flagged as deleted it cannot be reactivated 1 2 17 4 User subroutine interface VUMAT subroutine vumat C Read only unmodifiable variables 1 nblock ndir nshr nstatev stepTime totalTime dt props density straininc tempOld stressOld stateOld tempNew stretchNew only modifiable variables stressNew stateNew uF WN 6 C Write 7 c include vaba param inc c dimension props nprops charLength nblock relSpinInc nblock nshr stretchold nblock ndir nshr fieldOld nblo
334. l loading of a viscoelastic slab Section 3 1 2 of the Abaqus Benchmarks Manual Overview User subroutine UTRS can be used to define a temperature time shift for a time domain viscoelastic analysis will be called for all material points of elements for which a user defined shift function is specified to define the time temperature correspondence as part of the viscoelastic material definition will be called before user subroutine UMATHT and or user subroutine HETVAL if either or both are to be used with UTRS in a fully coupled temperature displacement or a coupled thermal electrical structural analysis can use and update solution dependent state variables and can be used in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in User subroutine interface SUBROUTINE UTRS SHIFT TEMP DTEMP TIME DTIME PREDEF DPRED 1 STATEV CMNAME COORDS INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION SHIFT 2 TIME 2 PREDEF 1 DPRED 1 STATEV 1 1 COORDS 1 user coding to define SHIFT 1 and SHIFT 2 RETURN END 1 1 52 uras Variable to be defined SHIFT An array of length two that defines the shift function A A gt 0 at this point SHIFT 1 defines the shift function at the beginning of the increment and SHIFT 2 defines the shift function at the end of the increment Abaqus Standard will apply an averaging scheme to these values that assumes that
335. l2 fabricStressNew k 1 fabricStressold k 1 stressIncll fabricStressOld k 2 stressInc22 fabricStressNew k 2 shear stress fabricStressNew k ndirStress 1 fabricStressOld k ndirStress 1 stressIncl2 Thickness direction strain fabricStrainInc k ndirStrain xnul30verE1l stressincil xnu230verE2 stressInc22 1 2 3 9 VFABRIC c c end do return end 1 2 3 10 1 2 4 VFRIC VFRIC User subroutine to define frictional behavior for contact surfaces Product Abaqus Explicit References Frictional behavior Section 35 1 5 ofthe Abaqus Analysis User s Manual FRICTION VFRIC VFRIC_COEF and VFRICTION Section 4 1 30 of the Abaqus Verification Manual Overview User subroutine VFRIC can be used to define the frictional behavior between contact pair surfaces can be used when the classical Coulomb friction model is too restrictive and a more complex definition of shear transmission between contacting surfaces is required must provide the entire definition of shear interaction between the contacting surfaces can use and update solution dependent state variables cannot be used in conjunction with softened tangential surface behavior and cannot be used with the general contact algorithm Terminology The use of user subroutine VFRIC requires familiarity with the following terminology Surface node numbers The surface node number refers to the position of a part
336. lFlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral AmpDoubleIntegral c INCLUDE ABA PARAM INC c time indices parameter iStepTime 1 iTotalTime 2 nTime 2 1 1 19 1 UAMP c flags passed in for information parameter iInitialization iRegularInc iCuts ikStep nFlagsInfo c optional flags to be defined parameter iComputeDeriv iComputeSecDeriv iComputeInteg iComputeDoubleInteg iStopAnalysis 5 iConcludeStep 6 nFlagsDefine 6 dimension time nTime 1FlagsInfo nFlagsInfo 1FlagsDefine nFlagsDefine dimension jSensorLookUpTable dimension sensorValues nSensor svars nSvars character 80 sensorNames nSensor character 80 ampName BP WD H u PWN r LA r F user coding to define AmpValueNew and optionally lFlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral AmpDoubleIntegral RETURN END Variable to be defined AmpValueNew Current value of the amplitude Variables that can be updated lFlagsDefine Integer flag array to determine whether the computation of additional quantities is necessary or to set step continuation requirements lFlagsDefine iComputeDeriv If set to 1 you must provide the computation of the amplitude derivative The default is 0 which means that Abaqus computes the derivative automatically 1 1 19 2 UAMP lFlagsDefine iComputeSecDeriv If set to 1 you must provide the co
337. lable in Abaqus Standard to perform tensor operations e SINV calculate stress invariants e SPRINC calculate principal values e SPRIND calculate principal values and directions e ROTSIG rotate a tensor These utility subroutines are described below in alphabetical order SINV calculate stress invariants Interface CALL SINV STRESS SINV1 SINV2 NDI NSHR Variables to be provided to the utility routine STRESS A stress tensor NDI Number of direct components NSHR Number of shear components 2 1 11 1 INVARIANTS AND PRINCIPAL VALUES Variables returned from the utilitv routine SINV1 First invariant 1 SINVI 3 trace o where is the stress tensor SINV2 Second invariant 3 SINV2 58 8 where S is the deviatoric stress tensor defined as 1 S 0 3 trace ol SPRINC calculate principal values Interface CALL SPRINC S PS LSTR NDI NSHR Variables to be provided to the utility routine S Stress or strain tensor LSTR An identifier LSTR I indicates that S contains stresses LSTR 2 indicates that S contains strains NDI Number of direct components NSHR Number of shear components Variables returned from the utility routine PS I I 1 2 3 The three principal values 2 1 11 2 INVARIANTS AND PRINCIPAL VALUES SPRIND calculate principal values and directions Interface CALL SPRIND S PS AN LSTR NDI NSHR Variables to be provided to the utilitv rout
338. ld k 1 max eps epsmax Store the maximum strain as a solution dependent state stateNew k 1 field k 1 end do return end 1 2 18 9 VUTRS 1 2 19 VUTRS User subroutine to define a reduced time shift function for a viscoelastic material Product Abaqus Explicit References e Time domain viscoelasticity Section 21 7 1 of the Abaqus Analysis User s Manual e TRS e VISCOELASTIC e Transient thermal loading of a viscoelastic slab Section 3 1 2 ofthe Abaqus Benchmarks Manual Overview User subroutine VUTRS e can be used to define a temperature time shift for a time domain viscoelastic analysis e willbe called for all material points of elements for which a user defined shift function is specified to define the time temperature correspondence as part of the viscoelastic material definition e can use and update solution dependent state variables and e can have incoming field variables redefined by user subroutine VUSDFLD User subroutine interface subroutine vutrs c Read only variables 1 nblock nstatev nfieldv nprops stepTime totalTime dt cmname props density coordMp tempOld fieldold stateOld 5 tempNew fieldNew c Write only variables 6 shift stateNew BW DD include vaba param inc dimension props nprops density nblock coordMp nblock tempOld nblock tempNew nblock fieldold nblock nfieldv fieldNew nblock nfieldv stateOld nblock nstatev st
339. ld variables at the current load integration point based on interpolation from the values specified at the nodes The first value in a pair predef 1 corresponds to initial values the second value predef 2 corresponds to incremental values of the temperature and field variables The first entry for example predef 1 1 or predef 2 1 contains the temperature the subsequent entries for example predef 1 2 or predef 2 2 onward contain the field variables coords nBlock An array containing the coordinates of the load integration points 1 1 23 2 UDECURRENT nBlock Number of load integration points in this block Currently equal to 1 i arrav i udecurr kstep Step number i arrav i udecurr kinc Increment number i arrav i udecurr noel Element number i arrav i udecurr npt Load integration point number i arrav i udecurr jiltvp Currently equal to 1 i arrav i udecurr phase This value is either 1 i udecurr phase real or2 i udecurr phase imag depending on whether the current call to the user subroutine defines the real in phase or the imaginarv out of phase part of the volume current densitv vector i arrav i udecurr proc Currently equal to 1 i arrav i udecurr_nfld Total number of predefined field variables niarrav Size of arrav i array Currently equal to 8 r arrav ir udecurr time 1 Excitation frequency in cycles time r arrav ir udecurr time 2 Excitation frequencv in r
340. les returned from the utility routine NWCOMP Number of wave components always 1 for Stokes wave theory WAMP Array containing the amplitude of the wave components WPERD Array containing the period of the wave components WXLAMB Array containing the wavelength of the wave components 2 1 13 1 Abaqus Aqua UTILITV ROUTINES WPHI Arrav containing the phase angle of the wave components WOFF Used only for gridded wave data JWTXPE 2 when WOFF gives the position of the origin of the gridded coordinate system with respect to the global system WANG 2 For Stokes fifth order wave theory WANG 1 1 and WANG 2 1 are the direction cosines of wave travel For Airy wave theory WANG 1 K1 and WANG 2 K1 are the direction cosines of the direction of travel of the K1th wave For gridded wave data WANG 1 1 and WANG 2 1 are the direction cosines of the wave data grid In all cases these direction cosines are with respect to the global coordinate system ELEVB User defined elevation of the seabed ELEVS User defined elevation of the still water surface JWTYPE Integer flag indicating the wave type as follows JWTYPE 0 Airy wave theory JWTYPE 1 Stokes fifth order wave theory JWTYPE 2 Wave data obtained from gridded values JRCD The error flag JRCD is returned from GETWAVE as 0 if all the wave kinematic data are read correctly and as 1 if an error occurred for instance NWCOMP is greater that MWCOMP GETWAVEVEL GETW
341. lgorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in the analvsis 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 Variables passed in for information Arravs PROPS A floating point array containing the NPROPS real property values defined for use with this element NPROPS is the user specified number of real property values See Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual JPROPS An integer array containing the NJPROP integer property values defined for use with this element NJPROP is the user specified number of integer property values See Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual COORDS An array containing the original coordinates of the nodes of the element COORDS K1 K2 is the Klth coordinate of the K2th node of the element U DU V A Arrays containing the current estimates of the basic solution variables displacements rotations temperatures depending on the degree of freedom at the nodes of the element at the end of the current increment Values are provided as follows U K1 Total values of the variables If this is a linear perturbation s
342. lled at each flow integration point for each element based or surface based nonuniform flow definition in the analysis and e ignores any amplitude references that may appear with the associated nonuniform flow definition User subroutine interface SUBROUTINE DFLOW FLOW U KSTEP KINC TIME NOEL NPT COORDS 1 JLTYP SNAME INCLUDE ABA PARAM INC DIMENSION TIME 2 COORDS 3 CHARACTER 80 SNAME user coding to define FLOW RETURN END 1 1 2 1 DFLOW Variable to be defined FLOW Effective velocitv of pore fluid crossing the surface at this point from the inside of the region modeled to the outside of the region modeled Units are LT Effective velocity is the volumetric flow rate per unit area refer to Permeability Section 25 6 2 of the Abaqus Analysis User s Manual FLOW will be passed into the routine as the magnitude of the seepage specified as part of the element based or surface based flow definition If the magnitude is not defined F LOW will be passed in as zero The effective velocitv is not available for output purposes Variables passed in for information U Estimated pore pressure at this time at this point KSTEP Step number KINC Increment number TIME 1 Current value of step time defined only in transient analysis TIME 2 Current value of total time defined onlv in transient analvsis NOEL Element number NPT Integration point number on the element s surface COORDS An arrav cont
343. load magnitude of the K1th distributed load at the end of the current increment for distributed loads of type Un For distributed loads of type UnNU the load magnitude is defined in UEL therefore the corresponding entries in ADLMAG are zero For linear perturbation steps ADLMAG K1 1 contains the total load magnitude of the K1th distributed load of type Un applied in the base state Base state loading of type UnNU must be dealt with inside UEL ADLMAG K1 2 ADLMAG K1 3 etc are currently not used DDLMAG For general nonlinear steps DDLMAG contains the increments in the magnitudes of the distributed loads that are currently active on this element for distributed loads of type Un DDLMAG K1 1 is the increment of magnitude of the load for the current time increment The increment of load magnitude is needed to compute the external work contribution For distributed loads of type UnNU the load magnitude is defined in UEL therefore the corresponding entries in DDLMAG are zero For linear perturbation steps DDLMAG K1 K2 contains the perturbation in the magnitudes of the distributed loads that are currently active on this element for distributed loads of type Un K1 denotes the K1th perturbation load active on the element K2 is always 1 except for steady state dynamics where K2 1 for real loads and K2 2 for imaginary loads Perturbation loads of type UnNU must be dealt with inside UEL PREDEF An array containing the values of predefined
344. lows that of the element definition node ordering JNNUM An arrav containing the NNODES node numbers When used with a kinematic coupling definition the first entrv is the reference node number and the second entrv is the node number for the current coupling node When used with a distributing coupling definition the first entrv is the reference node number followed by the node numbers of all coupling nodes When used with inertia relief loads this array is not used For all other uses the entry order follows that of the element definition node ordering 1 1 15 4 RSURFU 1 1 16 RSURFU User subroutine to define a rigid surface Product Abaqus Standard References Analytical rigid surface definition Section 2 3 4 of the Abaqus Analysis User s Manual SURFACE RIGID BODY RSURFU Section 4 1 10 of the Abaqus Verification Manual Overview User subroutine RSURFU e is used to define the surface of a rigid body for use in contact pairs e can be used to define a complex rigid surface if the various capabilities provided for defining a surface in Abaqus see Analytical rigid surface definition Section 2 3 4 of the Abaqus Analysis User s Manual are too restrictive e will be called at points on the slave surface of a contact pair or if contact elements are used at each integration point of each contact element with which the rigid surface is associated and e requires the definition of the closest poi
345. ls to user subroutines that allow redefinition of PNEWDT for this iteration 1 1 27 3 veL 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 Standard may increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in 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 Variables passed in for information Arrays PROPS A floating point array containing the NPROPS real property values defined for use with this element NPROPS is the user specified number of real property values See Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual JPROPS An integer array containing the NJPROP integer property values defined for use with this element NJPROP is the user specified number of integer property values See Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual COORDS An array containing the original coordinates of the nodes of the element COORDS K1 K2 is the K1th coo
346. lue PFREDEF 2 NPRED corresponds to the value of the field variable at the nearest point on the opposing surface DPRED 2 NPRED Array of increments in predefined field variables TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment 1 1 38 6 UINTER DTIME Current increment in time FREQR Current frequency for direct steady state dynamic analysis in rad time CINAME User specified surface interaction name left justified SLNAME Slave surface name MSNAME Master surface name PROPS NPROPS User specified array of property values to define the interfacial constitutive behavior between the contacting surfaces COORDS MCRD An array containing the current coordinates of this point ALOCALDIR 3 3 DROT AREA An array containing the direction cosines of the local surface coordinate system The directions are stored in columns For example ALOCALDIR 1 1 ALOCALDIR 2 1 and ALOCALDIR 3 1 give the 1 2 3 components of the normal direction Thus the first direction is the normal direction to the surface and the remaining two directions are the slip directions in the plane of the surface The local system is defined by the geometry of the master surface The convention for the local directions is the same as the convention in situations where the model uses the built in contact capabilities in Abaqus Standard described in
347. lues of PNEWDT greater than 1 0 will be ignored and values of PNEWDT less than 1 0 will cause the job to terminate LOPENCLOSE An integer flag that is used to track the contact status in situations where user subroutine UINTER is used to model standard contact between two surfaces like the default hard contact model in Abaqus Standard It comes in as the value at the beginning of the current iteration and should be set to the value at the end of the current iteration It is set to 1 at the beginning of the analysis before UINTER is called You should set it to 0 to indicate an open status and to to indicate a closed status A change in this flag from one iteration to the next will have two effects It will result in output related to a change in contact status if you request a detailed contact printout in the message file The Abaqus Standard message file in Output Section 4 1 1 of the Abaqus Analysis User s Manual In addition it will also trigger a severe discontinuity iteration Any time this flag is reset to a value of 1 Abaqus Standard assumes that the flag is not being used A change in this flag from 1 to another value or vice versa will not have any of the above effects LSTATE An integer flag that should be used in non standard contact situations where a simple open close status is not appropriate or enough to describe the state It comes in as the value at the beginning of the current iteration and should be set t
348. m ndim bmat nnodemax ndim statevLocal nsvint stress ntens ddsdde ntens ntens stran ntens dstran ntens wght ninpt shape nnodemax dshape ndim nnodemax dimension predef_loc npredf dpredef loc npredf 1 defGrad 3 3 utmp 3 xdu 3 stiff_p 3 3 force_p 3 dimension coord24 2 4 coords_ip 3 data coord24 dmone 2 one 3 one 4 dmone c dmone dmone one one data wght one one one one c Ckhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk State variables each statev l isvinc gqaaaaaaa Ul first order plane strain full integration integration point has nsvint SDVs isvinc npt 1 nsvint integration point counter strain Ckhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk if lflags 3 eq 4 then do i 1 ndofel do j 1 ndofel amatrx i j zero end do amatrx i i one end do goto 999 end if c c PRELIMINARIES c 1 1 28 13 UELMAT pnewdtLocal pnewdt if jtype ne 1 then write 7 Incorrect element type call xit endif if nsvars lt ninpt nsvint then write 7 Increase the number of SDVs to ninpt nsvint call xit endif thickness 0 1d0 c c INITIALIZE RHS AND LHS c do kl 1 ndof nnode rhs kl 1 zero do k2 1 ndof nnode amatrx kl k2 zero end do end do c c LOOP OVER INTEGRATION POINTS c do kintk 1 ninpt c c EVALUATE SHAPE FUNCTIONS AND THEIR DERIVATIVES c c determine g h
349. material points that is the values remain constant after deletion is triggered Once a material point has been flagged as deleted it cannot be reactivated User subroutine interface subroutine vuanisohyper inv C Read only unmodifiable variables 1 nblock nFiber ninv 2 jElem kIntPt kLayer kSecPt 3 cmname 4 nstatev nfieldv nprops 5 props tempOld tempNew fieldOld fieldNew 6 stateOld sInvariant zeta C Write only modifiable variables 1 2 8 3 VUANISOHVPER INV 7 uDev duDi d2uDiDi 8 stateNew include vaba param inc dimension props nprops tempOld nblock fieldOld nblock nfieldv stateOld nblock nstatev tempNew nblock fieldNew nblock nfieldv sInvariant nblock nInv zeta nblock nFiber nFiber 1 2 uDev nblock duDi nblock nInv d2uDiDi nblock nInv nInv 1 2 stateNew nblock nstatev vo osnoauvurWwp phH character 80 cmname do 100 km 1 nblock user coding 100 continue return end Variables to be defined udev nblock Use the deviatoric part of the strain energy density of the primary material response This quantity is needed only if the current material definition also includes Mullins effect see Mullins effect Section 21 6 1 ofthe Abaqus Analysis User s Manual duDi nblock nInv Array of derivatives of strain energy potential with respect to the scalar invariants OU OI ordered using the enumeration scheme discussed above
350. me 1 2 9 3 VUANISOHVPER STRAIN 2 ndir nshr nstatev nfieldv nprops 3 props tempold tempNew fieldold fieldNew 4 stateOld ebar detu C Write only modifiable variables 4 udev duDe duDj 5 d2uDeDe d2uDjDj d2uDeDj 6 stateNew include vaba param inc dimension jElem nblock props nprops tempOld nblock fieldold nblock nfieldv stateOld nblock nstatev tempNew nblock fieldNew nblock nfieldv ebar nblock ndir nshr detu nblock uDev nblock duDe nblock ndir nshr duDj nblock d2uDeDe nblock ndir nshr ndir nshr 1 2 d2uDjDj nblock d2uDeDj nblock ndir nshr stateNew nblock nstatev WUN Ee FWO WONT AHAU FWD MH character 80 cmname do 100 km 1 nblock user coding 100 continue return end Variables to be defined udev nblock Ugev the deviatoric part of the strain energy density of the primary material response This quantity is needed only if the current material definition also includes Mullins effect see Mullins effect Section 21 6 1 of the Abaqus Analysis User s Manual 1 2 9 4 VUANISOHVPER STRAIN duDe nblock ndir nshr Derivatives of strain energy potential with respect to the components of the modified Green strain tensor 0U OES duDj nblock ndir nshr Derivatives of strain energy potential with respect to volume ratio 9U 0J d2uDeDe nblock ndir nshr ndir nshr 1 2 Second derivatives of strain energy potential with respect to
351. ment type the number of backstress components is identical to the number of stress components The order of the backstress components is the same as the order of the stress components For example in three dimensional continuum elements six backstress components must be defined in the order 11 422 033 Q12 013 23 114254 HARDINI User subroutine interface SUBROUTINE HARDINI ALPHA EQPS COORDS NTENS NCRDS NOEL NPT 1 LAYER KSPT LREBAR REBARN INCLUDE ABA PARAM INC DIMENSION ALPHA NTENS COORDS NCRDS CHARACTER 80 REBARN user coding to define EQPS and if relevant ALPHA NTENS RETURN END Variables to be defined The variables described below are element type dependent EQPS Equivalent plastic strain ALPHA 1 1 First backstress component of the first backstress ALPHA 2 1 Second backstress component of the first backstress ALPHA 3 1 Third backstress component of the first backstress Etc NTENS backstress component values should be defined for each backstress Variables passed in for information COORDS An arrav containing the initial coordinates of this point NTENS Number of backstress values to be defined This number depends on the element type 1 1 12 2 HARDINI NCRDS Number of coordinates NOEL Element number NPT Integration point number LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer
352. ments in drdisp are set to r MaxVal for the slave nodes that are far from the master surface drot 2 2 nSlvNod Rotation increment matrix This matrix represents the incremental rotation of the local surface tangent directions for a three dimensional surface This rotation matrix for each slave node is defined as a unit matrix for two dimensional surfaces If the master surface is an analvtical surface the elements in drot are set to r_MaxVal for the slave nodes that are far from the master surface stiffDflt nSlvNod Values of the default penalty stiffnesses for each slave node units of FL condDflt nSlvNod Values of the default penalty conductances for each slave node units of JBITA shape nFacNod nSlvNod For each contact point this array contains the shape functions of the nodes of its master surface facet evaluated at the location of the contact point If the master surface is an analytical rigid surface this array is passed in as a dummy array coordSlv nDir nSlvNod Array containing the nDir components of the current coordinates of the slave nodes coordMst nDir nMstNod Array containing the nDir components of the current coordinates of the master nodes If the master surface is an analytical rigid surface this array is passed in as the coordinates of the contact points on the master surface alocaldir nDir nDir nSlvNod Direction cosines of the local surface coordinate system The first array index correspond
353. mpTra zero amassFactO half area0 rho if lflags iOpCode eq jMassCalc then do kblock 1 nblock use original distance to compute mass alenX0 coords kblock 2 1 coords kblock 1 1 alenY0 coords kblock 2 2 coords kblock 1 2 alenzo coords kblock 2 3 coords kblock 1 3 alenO sqrt alenX0 alenX0 alenYO alenYO alenZ0 alenZ0 amo amassFact0 alenO amass kblock 1 1 amO 1 2 10 11 VUEL amass kblock 2 2 am0 amass kblock 3 3 am0 amass kblock 4 4 am0 amass kblock 5 5 am0 amass kblock 6 6 am0 end do else if lflags iOpCode eq jintForceAndDtStable then do kblock 1 nblock alenX0 coords kblock 2 1 coords kblock 1 1 alenxo coords kblock 2 2 coords kblock 1 2 alenzo coords kblock 2 3 coords kblock 1 3 alenO sqrt alenX0 alenX0 alenyO alenYO alenZ0 alenZ0 vol0 area0 alenO amElem0 two amassFact0 alenO alenX alenxo u kblock 4 u kblock 1 alenY alenxo u kblock 5 u kblock 2 alenZ alenzo u kblock 6 u kblock 3 alen sqrt alenX alenX alenY alenY alenZ alenZ area vol0 alen ak area eMod alen stable time increment for translations dtimeStable kblock factorStable sqrt amElem0 ak force E logarithmic strain current area strainLog log alen alen0 fElasTra eMod strainLog area forceTra fElasTra assemble internal load in RHS rhs kblock 1 forceTra r
354. mputation of the amplitude second derivative The default is 0 which means that Abaqus computes the second derivative automatically lFlagsDefine iComputelnteg If set to 1 you must provide the computation of the amplitude incremental integral The default is 0 which means that Abaqus computes the incremental integral automatically lFlagsDefine iComputeDoublelInteg If set to 1 vou must provide the computation of the amplitude incremental double integral The default is 0 which means that Abaqus computes the incremental integral automatically lFlagsDefine iStopAnalysis If set to 1 the analysis will be stopped and an error message will be issued The default is 0 which means that Abaqus will not stop the analysis 1FlagsDefine iConcludeStep If set to 1 Abaqus will conclude the step execution and advance to the next step if a next step exists The default is 0 svars An array containing the values of the solution dependent state variables associated with this amplitude definition The number of such variables is nsvars see above You define the meaning of these variables This array is passed into UAMP containing the values of these variables at the start of the current increment In most cases they should be updated to be the values at the end of the increment AmpDerivative Current value of the amplitude derivative AmpSecDerivative Current value of the amplitude second derivative AmpIncIntegral Current value o
355. mulia com locations locations html Preface This section lists various resources that are available for help with using Abaqus Unified FEA software Support Both technical engineering support for problems with creating a model or performing an analvsis and systems support for installation licensing and hardware related problems for Abaqus are offered through a network of local support offices Regional contact information is listed in the front of each Abaqus manual and is accessible from the Locations page at www simulia com Support for SIMULIA products SIMULIA provides a knowledge database of answers and solutions to questions that we have answered as well as guidelines on how to use Abaqus SIMULIA Scenario Definition Isight and other SIMULIA products You can also submit new requests for support All support incidents are tracked If you contact us bv means outside the svstem to discuss an existing support problem and vou know the incident or support request number please mention it so that we can consult the database to see what the latest action has been Manv questions about Abaqus can also be answered bv visiting the Products page and the Support page at www simulia com Anonymous ftp site To facilitate data transfer with SIMULIA an anonymous ftp account is available on the computer ftp simulia com Login as user anonymous and type your e mail address as your password Contact support before placing files on the site
356. multiplied by density at the end of increment rhodudt Variation of internal thermal energv per unit mass with respect to temperature multiplied bv densitv evaluated at the end of the increment rhodUdg Variation of internal thermal energy per unit mass with respect to the spatial gradients of temperature 9U 90 00 0x multiplied by density at the end of the increment flux Heat flux vector f at the end of the increment dfdt Variation of the heat flux vector with respect to temperature Of 06 evaluated at the end of the increment dfdg Variation of the heat flux vector with respect to the spatial gradients of temperature Of 0 00 Ox at the end of the increment 2 1 18 2 ACCESSING Abaqus THERMAL MATERIALS rpl Volumetric heat generation per unit time at the end of the increment drpldt Variation of rp1 with respect to temperature 2 1 18 3 APPENDIX A INDEX Appendix A Index e User subroutines index Section A l e User subroutine functions listing Section A 2 APPENDIX A INDEX A 1 User subroutines index The following tables categorize each user subroutine according to its primary function The topics are listed alphabetically Table A 1 Abaqus Standard user subroutines Function Related user subroutines Amplitudes User defined UAMP Boundary Conditions DISP UDEMPOTENTIAL Constraints MPC Contact Behavior FRIC FRIC COEF GAPCON GAPELECTR UI
357. multipliers ScaleSteadv ScaleUnsteadv end if e end if e return end Variables to be defined fWaveSurf nblock This arrav contains the instantaneous fluid free surface elevation at the elemental nodes and is calculated when the flag lUpdFluidVar has the value j upd F reeSurf The incoming array contains the still free surface elevation value for each node The nodal values as seen in the first call are used to identify the wet portion of an element fUnsteadvVel nblock ndim This arrav contains the unsteadv part of the fluid velocitv at load integration points and is calculated when the flag 1UpdFluidVar has the value j upd FluidVarDrag The incoming array contains Zeros fFluidAcc nblock ndim This arrav contains the fluid acceleration at load integration points and is calculated when the flag lUpdFluidVar has the value j upd FluidVarInertia The incoming array contains zeros fUnsteadyPress nblock This arrav contains the unsteadv part of the fluid pressure at load integration points and is calculated when the flag 1UpdFluidVar has the value j upd FluidVarBuovancv The incoming array contains zeros The steady part of the pressure is not stored but is calculated by Abaqus Explicit at each load integration point based on the data provided under the tAQUA option and is scaled by the ScaleSteady parameter 1 2 21 3 VWAVE fUnsteadvDPressDZ nblock This arrav contains the unsteadv part of the gradient of fluid pressure
358. must choose the most suitable point usually the closest A to A The routine must pass back the coordinates of A to Abaqus Standard For the surface to surface contact formulation the slave normal not the master normal should be used 2 RSURFU must define the distance h by which A has penetrated the surface below A A negative value of h means that A is outside the surface of the rigid body 3 Ifthe surfaces are in contact which may sometimes be the case even if his negative RSURFU must define the local surface geometry Defining the local surface geometry There are two scenarios under which it is mandatory that the routine define the local surface geometry if A has penetrated the surface h gt 0 if the surface behavior is truly rigid or h is greater than the maximum overclosure value specified for modified surface behavior using either contact controls see Adjusting contact controls in Abaqus Standard Section 34 3 6 of the Abaqus Analysis User s Manual or a modified pressure overclosure relationship see Contact pressure overclosure relationships Section 35 1 2 of the Abaqus Analysis User s Manual and if A was in contact at the beginning of the increment in which case the flag LCLOSE I see the variable list for the definition of LCLOSE The variable LCLOSE is not relevant for the surface to surface contact formulation and is always passed in as 0 The routine can be coded so that local surface geometry
359. n X 6 N An arrav containing the original coordinates of the nodes involved in the constraint U MAXDOF N An array containing the values of the degrees of freedom at the nodes involved in the constraint These values will be either the values at the end of the previous iteration or the current values based on the linearized constraint equation depending at which stage of the iteration the user subroutine is called UINIT MAXDOF N An array containing the values at the beginning of the current iteration of the degrees of freedom at the nodes involved in the constraint This information is useful for decision making purposes when vou do not want the outcome of a decision to change during the course of an iteration For example there are constraints in which the degree of freedom to be eliminated changes during the course of the analysis but it is necessary to prevent the choice of the dependent degree of freedom from changing during the course of an iteration MAXDOF Maximum degree of freedom number at any node in the analysis For example for a coupled temperature displacement analysis with continuum elements MAXDOF will be equal to 11 KSTEP Step number KINC Increment number within the step TIME 1 Current value of step time TIME 2 Current value of total time NT Number of positions through a section where temperature or field variable values are stored at a node In a mesh containing only continuum elements NT 1 F
360. n Rate dependent plasticity creep and swelling Section 22 2 4 of the Abaqus Analysis User s Manual e Gasket creep g the uniaxial compressive stress e Drucker Prager creep o equivalent creep stress in soils analysis this is based on effective stresses e Capped Drucker Prager creep 5 equivalent creep stress in soils analysis this is based on effective stresses 1 1 1 10 CREEP If LEND 0 the value is or 5 at the beginning of the increment If LEND 1 the value is or 6 7 at the end of the increment TEMP Temperature at the end of the increment DTEMP Increment of temperature during the time increment PREDEF An arrav containing the values of all of the user specified predefined variables at this point at the end of the increment initial values at the beginning of the analvsis and current values during the analvsis DPRED An arrav containing the increments of all of the predefined variables during the time increment TIME 1 Value of step time at the end of the increment TIME 2 Value of total time at the end of the increment DTIME Time increment CMNAME User specified material name or gasket behavior name left justified Some internal creep models are given names starting with the ABQ_ character string To avoid conflict you should not use ABQ_ as the leading string for CMNAME LEXIMP Explicit implicit flag If LEXIMP 0 explicit creep integration is being us
361. n 32 2 1 ofthe Abaqus Analysis User s Manual this array will contain the initial stresses at the start of the analysis The size of this array depends on the value of NTENS as defined below In finite strain problems the stress tensor has already been rotated to account for rigid body motion in the increment before UMAT is called so that only the corotational part of the stress integration should be done in UMAT The measure of stress used is true Cauchy stress STATEV NSTATV SSE Onivi RPL An array containing the solution dependent state variables These are passed in as the values at the beginning ofthe increment unless they are updated in user subroutines USDFLD or UEXPAN in which case the updated values are passed in In all cases STATEV must be returned as the values at the end of the increment The size of the array is defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual In finite strain problems any vector valued or tensor valued state variables must be rotated to account for rigid body motion of the material in addition to any update in the values associated with constitutive behavior The rotation increment matrix DROT is provided for this purpose SPD SCD Specific elastic strain energy plastic dissipation and creep dissipation respectively These are passed in as the values at the start of the increment and should be upda
362. n addition if UMATHT is being used in a fully coupled temperature displacement or coupled thermal electrical structural analysis and user subroutine CREEP user subroutine UEXPAN user subroutine UMAT or user subroutine UTRS is used to define the mechanical behavior of the material those routines are called before this routine therefore any updating of STATEV done in CREEP UEXPAN UMAT or UTRS will be included in the values passed into UMATHT In all cases STATEV should be passed back from UMATHT as the values of the state variables at the end of the current increment PNEWDT Ratio of suggested new time increment to the time increment being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to UMATHT If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 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 Standard may increase the time increment
363. n based on incremental slip information and calculated frictional stresses These quantities are passed in by Abaqus Standard as discussed below To avoid convergence problems for the general class of frictional contact problems set LM to 2 and exit this routine if the contact point was open at the end of the previous increment that is if Abaqus Standard sets LM 2 when it calls this routine simply exit the routine 1 1 8 2 FRIC If the return value of LM is 0 TAU NFDIR These values are passed in as the values of the frictional stress components Ta at the beginning of the increment and must be updated to the values at the end of the increment Here and in the rest of this description Greek subscripts a B refer to frictional shear directions The orientation of these directions on contact surfaces is defined in Contact formulations in Abaqus Standard Section 36 1 1 of the Abaqus Analvsis User s Manual DDTDDG NFDIR NFDIR OAT OAYg partial derivative of the frictional stress in direction a with respect to the relative motion in direction B DDTDDP NFDIR JATA OAp partial derivative of the frictional stress in direction a with respect to the contact pressure Since these terms yield an unsymmetric contribution to the stiffness matrix they are used only if the unsymmetric equation solver is used see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual Variables that can be updated
364. n be used to define a nonuniform distributed flux as a function of position time temperature element number integration point number etc in a heat transfer or mass diffusion analvsis e will be called at each flux integration point for each element based or surface based heat transfer oniv nonuniform distributed flux definition in the analvsis e ignores any amplitude references that may appear with the associated nonuniform distributed flux definition and e uses the nodes as flux integration points for first order heat transfer first order coupled temperature displacement first order coupled thermal electrical structural and mass diffusion elements User subroutine interface SUBROUTINE DFLUX FLUX SOL KSTEP KINC TIME NOEL NPT COORDS 1 JLTYP TEMP PRESS SNAME c INCLUDE ABA PARAM INC c DIMENSION FLUX 2 TIME 2 COORDS 3 CHARACTER 80 SNAME user coding to define FLUX 1 and FLUX 2 RETURN END 1 1 3 DFLUX Variables to be defined FLUX 1 Magnitude of flux flowing into the model at this point In heat transfer cases the units are JT L for surface fluxes and JTL for body flux In transient heat transfer cases where a non default amplitude is used to vary the applied fluxes the time average flux over the time increment must be defined rather than the value at the end of the time increment In mass diffusion cases the units are PLT for surface fluxes and PT for body flux FLUX 1 will be pa
365. n energy density at the end of the increment This quantity is used for output purposes only STATEV Array containing the user defined solution dependent state variables at this point These are supplied as values atthe start ofthe increment or as values updated by other user subroutines see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual and must be returned as values at the end of the increment Variables passed in for information UMAXNEW The value at the end of the increment of the maximum primary strain energy density over its entire deformation history UMAXOLD The value at the beginning of the increment of the maximum primary strain energy density over its entire deformation history SEDDEV The value at the end of the increment of the deviatoric primary strain energy density when the primary material behavior is hyperelastic The value at the end of the increment of the total primary strain energy density when the primary material behavior is hyperfoam DMGDISSOLD The value of energy dissipated at the beginning of the increment 1 1 44 2 UMULLINS CMNAME User specified material name left justified NUMSTATEV Number of solution dependent state variables associated with this material defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual NUMPROPS Number of material properties entered for th
366. n fluid exchange property types cannot satisfactorily model the mass heat energy flow e can use and update solution dependent state variables e can use any field variables that are passed in and e requires that the derivatives of mass heat energy flow rates be defined with respect to pressure and temperature in the primary and secondary fluid cavities Conventions for defining mass flow heat energy flow rate A positive mass heat energy flow rate indicates flow from the primary fluid cavity to the secondary fluid cavity A negative value for mass flow rate will be ignored if the fluid exchange is between a cavity and its environment User subroutine interface subroutine vufluidexch C Read only unmodifiable variables 1 nstatev nfieldv nprops stepTime totalTime dt jCavType fluExchName effArea amplitude props lExchEnv pcavNew pcavold ctempNew ctempOld cvol cmass rMix CpMix DCpDtemp field stateOld NO UP WwW ND 1 2 12 1 VUFLUIDEXCH C Write onlv modifiable variables 8 stateNew rMassRate rEneRate 9 DMassRateDPcav DMassRateDTemp DEneRateDPcav DEneRateDTemp include vaba param inc dimension props nprops pcavNew 2 pcavold 2 ctempNew 2 ctempOld 2 cvol 2 cmass 2 rMix 2 CpMix 2 dCpDtemp 2 field nfieldv stateOld nstatev stateNew nstatev DMassRateDPcav 2 DMassRateDTemp 2 DEneRateDPcav 2 DEneRateDTemp 2 YOU BRWDNR c Fluid cavity type parameter iHy
367. n this case rval should be set equal to 4 300 The initial displacement and velocitv are passed into the user subroutine in the arravs u and v respectivelv The second call to user subroutine VDISP is made to establish the initial acceleration which is indicated by the passing of a step time value of zero into the subroutine If displacement is prescribed the returned variable should be set equal to the displacement at dt If velocity is prescribed the returned variable should be set equal to the mean velocity at dt 2 If acceleration is prescribed the returned variable should be set equal to the acceleration at zero step time Time incrementation During time incrementation user subroutine VDISP is called once for each increment to establish all required prescribed conditions 1 2 1 1 VDISP at If displacement is prescribed the returned variable should be set equal to the displacement stepTime dtNext where stepTime is the step time and dtNext is the next time increment If velocity is prescribed the returned variable should be set equal to the mean velocity at stepTime dtNext 2 If acceleration is prescribed the returned variable should be set equal to the acceleration at stepTime User subroutine interface subroutine vdisp c Read only variables 1 nblock nDof nCoord kstep kinc 2 stepTime totalTime dtNext dt 3 cbname jBCType jDof jNodeUid amp 4 coordNp u v a rf rmass rotarvi c Write only v
368. nalysis in Abaqus Explicit in Fully coupled thermal stress analysis Section 6 5 4 of the Abaqus Analysis User s Manual e Coding for the operational code 1flags iOpCode jExternForce is optional Example Structural user element A structural user element has been created to demonstrate the usage of subroutine VUEL These user defined elements are applied in a number of analyses The following excerpt is from the verification problem that invokes the structural user element in an explicit dynamic procedure USER ELEMENT NODES 2 TYPE VU1 PROPERTIES 4 COORDINATES 3 VARIABLES 12 1 2 3 ELEMENT TYPE VUl 101 101 102 ELGEN ELSET VUTRUSS 101 5 UEL PROPERTY ELSET VUTRUSS 0 002 2 1E11 0 3 7200 The user element consists of two nodes that are assumed to lie parallel to the z axis The element behaves similarly to a linear truss element The supplied element properties are the cross sectional area Young s modulus Poisson s ratio and density respectively The next excerpt shows the listing of the subroutine The user subroutine has been coded for use in an explicit dynamic analysis The names of the verification input files associated with the subroutine and these procedures can be found in VUEL Section 4 1 32 of the Abaqus Verification Manual subroutine vuel nblock rhs amass dtimeStable svars nsvars energy nnode ndofel 1 2 10 9 VUEL props nprops jprops njpro
369. ncrement for each contact point in the current local coordinate svstem These incremental slips correspond to tangential motion in the time increment from t teurr At to t teurr This incremental slip is used to define the local coordinate system at each contact point see Figure 1 2 6 1 so that only the first component of dslipFric can be nonzero in the local system fStickForce nBlock This array contains the magnitude of frictional force required to enforce stick conditions at each contact point This force depends on the previous frictional force the value of the penalty stiffness and the previous incremental slip The penalty stiffness is assigned automatically Occasionally during recovery of elastic slip associated with the penalty method the stick force will be assigned a negative value fTangPrev nDir nBlock This array contains the values of the frictional force components calculated in the previous increment but provided in the current local coordinate system zero for nodes that were not in contact fNormal nBlock This array contains the magnitude of the normal force for the contact points applied at the end of current time increment i e at time t toupr areaCont nBlock Area associated with the contact points The sum of the contact areas among all contact points associated with a single slave node equals the surface area associated with that slave node equal to 1 for node based surface nodes Therefore the
370. nd Jacobian at the integration point These quantities are used to compute the right hand side vector and the element Jacobian ck 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 subroutine uelmat rhs amatrx svars energv ndofel nrhs nsvars props nprops coords mcrd nnode u du v a jtype time dtime kstep kinc jelem params ndload jdltvp adlmag predef npredf lflags mlvarx ddlmag mdload pnewdt jprops njpro period materiallib u FWD include aba param inc dimension rhs mlvarx amatrx ndofel ndofel props 1 svars energy coords mcrd nnode u ndofel 2 du mlvarx v ndofel a ndofel time 2 params 3 jdltyp mdload adlmag mdload ddlmag mdload 4 predef 2 npredf nnode lflags jprops parameter zero 0 d0 dmone 1 0d0 one 1 d0 four 4 0d0 1 fourth 0 25d0 gaussCoord 0 577350269d0 parameter ndim 2 ndof 2 nshr 1 nnodemax 4 1 ntens 4 ninpt 4 nsvint 4 ndim number of spatial dimensions ndof number of degrees of freedom per node nshr number of shear stress component ntens total number of stress tensor components ndi nshr aaaaaadn 1 1 28 12 strain aaaan UELMAT ninpt number of integration points nsvint number of state variables per integration pt dimension stiff ndof nnodemax ndof nnodemax BWwWNH force ndof nnodemax xjac ndim ndim xjaci ndi
371. nd MAT2 respectively User subroutine VFABRIC merely acts as a directory here The argument list can be the same as that used in subroutine VFABRIC The material names must be in uppercase characters since cmname is passed in as an uppercase character string Example Influence of nonorthogonal material directions in highly anisotropic elastic material As an example of the coding of user subroutine VFABRIC consider a simple elastic lamina material with highly anisotropic properties For a fabric the material definitions need not remain orthogonal with deformation whereas the directions do remain orthogonal for a built in elastic material The simple VFABRIC routine given below defines an elastic fabric and can be used to compare the fabric and the built in elastic materials under different loading conditions The user subroutine would be coded as follows subroutine vfabric C Read only unmodifiable variables 1 nblock ndim npt layer kspt kstep kinc 2 nstatev nfieldv nprops 3 10p jElem stepTime totalTime dt cmname coordMp 4 charLength props density braidAngle fabricStrain 5 fabricStraininc 6 tempOld fieldold fabricStressold stateOld 7 tempNew fieldNew enerintern C Write only modifiable variables 1 2 3 7 VFABRIC AAARAANVAAN a Q 8 fabricStressNew stateNew enerInelas NOTE In addition to the above Write only variables the thickness direction component of fabricStrainInc i
372. nd the frictional stress TAU 1 1 8 3 FRIC DDTDDT NFDIR 2 JAT 0AB OAT OAG partial derivatives of the frictional stress in direction a with respect to the temperatures of the two surfaces This is required only for coupled temperature displacement and coupled thermal electrical structural elements in which the frictional stress is a function of the surface temperatures PNEWDT Ratio of suggested new time increment to the time increment currently being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to FRIC If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard may increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT x DTIME where the PNEWDT used is the minimum value for all calls to user subroutin
373. nded for models in which the thermal strains depend on temperature and or predefined field variables in complex wavs or depend on state variables which can be used and updated in this routine e is called at all integration points of elements for which the material or gasket behavior definition contains user subroutine defined thermal expansion and e is called twice per material point in each iteration during coupled temperature displacement and coupled thermal electrical structural analyses User subroutine interface SUBROUTINE UEXPAN EXPAN DEXPANDT TEMP TIME DTIME PREDEF 1 DPRED STATEV CMNAME NSTATV NOEL c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME 6 DIMENSION EXPAN DEXPANDT TEMP 2 TIME 2 PREDEF 1 DPRED STATEV NSTATV user coding to define EXPAN DEXPANDT and update STATEV ifnecessary RETURN END 1 1 29 1 UEXPAN Variables to be defined EXPAN Increments of thermal strain The number of values to be defined and the order in which they are arranged depend on the type of thermal expansion being defined e For isotropic expansion give the isotropic thermal strain increment as the first and only component of the matrix e For orthotropic expansion give Aci Ac and Aeth as the first second and third components of the matrix respectively e For anisotropic expansion give Acit Aeth Aeh Acts Ach and Aeth Direct components are stored first followed by sh
374. ndependent degrees of freedom u u etc For finite rotations amp must be specified as a function of etc If these values are not provided Abaqus Standard will update ul based on the linearized form of the constraint equations Subroutine MPC should be coded and checked with care if the matrices of derivatives A etc do not correspond to the definition of ul in terms of u u etc forces will be transmitted improperly by the MPC and violations of equilibrium may occur In addition convergence of the solution may be adversely affected User subroutine interface SUBROUTINE MPC UE A JDOF MDOF N JTYPE X U UINIT MAXDOF LMPC KSTEP KINC TIME NT NF TEMP FIELD LTRAN TRAN INCLUDE ABA PARAM INC DIMENSION UE MDOF A MDOF MDOF N JDOF MDOF N X 6 N U MAXDOF N UINIT MAXDOF N TIME 2 TEMP NT N FIELD NF NT N LTRAN N TRAN 3 3 N user coding to define JDOF UE A and optionally LMPC RETURN END 1 1 14 10 ro Variables to be defined JDOF MDOF N Matrix of degrees of freedom identifiers at the nodes involved in the constraint Before each call to MPC Abaqus Standard will initialize all of the entries of JDOF to zero All active degrees of freedom for a given column first index ranging from 1 to MDOF must be defined starting at the top of the column with no zeros in between A zero will mark the end of the list for that column The number of nonzero entries in the first column will im
375. ndicates that an analysis restart file is being written for this increment and that only one increment is being retained per step so that the current increment overwrites the previous increment in the restart file see Restarting an analysis Section 9 1 1 of the Abaqus Analysis User s Manual TIME 1 Value of current step time TIME 2 Value of current total time DTIME Time increment KSTEP Current step number When LOP 4 KSTEP gives the restart step number KINC Current increment number When LOP 4 KINC gives the restart increment number 1 1 30 2 1 1 31 UFIELD UFIELD User subroutine to specifv predefined field variables Product Abaqus Standard References USDFLD Section 1 1 49 Predefined fields Section 32 6 1 ofthe Abaqus Analysis User s Manual FIELD UTEMP UFIELD UMASFL and UPRESS Section 4 1 25 of the Abaqus Verification Manual Overview User subroutine UFIELD allows you to prescribe predefined field variables at the nodes of a model the predefined field variables at a node can be updated individually or a number of field variables at the node can be updated simultaneously is called whenever a user subroutine defined field appears ignores any field variable values specified directly can be used to modify field variable values read from a results file and can be used in conjunction with user subroutine USDFLD such that the field variables that are passe
376. ndom number seed in the gravitv wave definition NSPECTRUM For stochastic analvsis the number of user specified frequencv versus wave amplitude pairs in the gravitv wave definition used to define the wave spectrum FREQWAMP 1 NSPECTRUM For stochastic analvsis the frequencv values used to define the wave spectrum FREQWAMP 2 NSPECTRUM For stochastic analvsis the wave amplitude values used to define the wave spectrum TIME 1 Value of step time at the end of the current increment TIME 2 Value of total time at the end of the current increment DTIME Time increment NOEL Element number NPT Load integration point number All line elements use full integration for the application of external loads For distributed loads applied to the ends of the element NPT corresponds to the end number of the element KSTEP Step number KINC Increment number 1 1 54 4 VOIDRI 1 1 55 VOIDRI User subroutine to define initial void ratios Product Abaqus Standard References e Initial conditions in Abaqus Standard and Abaqus Explicit Section 32 2 1 ofthe Abaqus Analysis User s Manual e Coupled pore fluid diffusion and stress analysis Section 6 8 1 of the Abaqus Analysis User s Manual e INITIAL CONDITIONS Overview User subroutine VOIDRI e will be called to define initial void ratio values at material calculation points of continuum elements see Part VI Elements ofthe Abaqus Analysi
377. ne AMATRX MNM LFLAGS 3 6 Initial acceleration calculation Abaqus Standard solves MNM M GN 0 for ii M so you must define AMATRX MNM and RHS GN Subspace based dynamic analysis LFLAGS 1 13 e The requirements are identical to those of static analysis except that the Jacobian stiffness AMATRX is not needed No convergence checks are performed in this case Quasi static analysis LFLAGS 1 21 e The requirements are identical to those of static analysis 1 1 27 10 UEL Steady state heat transfer analysis LFLAGS 1 31 e The requirements are identical to those of static analysis except that the automatic convergence checks are applied to the heat flux residuals corresponding to degrees of freedom 11 12 Transient heat transfer analysis 0 LFLAGS 1 32 33 e Automatic convergence checks are applied to the heat flux residuals corresponding to degrees of freedom 11 12 e The backward difference scheme is always used for time integration that is Abaqus Standard assumes that r a Au At where Au war uz and so du du 1 At always For degrees of freedom 11 12 max Au will be compared against the user prescribed maximum allowable nodal temperature change in an increment A8 42 for controlling the time integration accuracy e You need to define AMATRX KNM 1 At CNM where CM is the heat capacity matrix and RHS FN and must update the state variables H
378. ng tensors in an Abaqus Standard analvsis 2 1 11 Obtaining principal stress strain values and directions in an Abaqus Explicit analvsis 2 1 12 Obtaining wave kinematic data in an Abaqus Aqua analvsis 2 1 13 Printing messages to the message or status file 2 1 14 Terminating an analvsis 2 1 15 Obtaining sensor information 2 1 16 Accessing Abaqus materials 2 1 17 Accessing Abaqus thermal materials 2 1 18 CONTENTS A Index User subroutines index User subroutine functions listing A l A2 1 0 INTRODUCTION This manual describes all of the user subroutines and utilitv routines available in Abaqus The interface and requirements for each user subroutine are discussed in detail References to practical examples of most subroutines are also provided Utilitv routines can be used within user subroutines to perform a varietv of common tasks The interface for all available utilitv routines appears in a separate chapter For information on incorporating a user subroutine into an Abaqus analysis see User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User s Manual This manual is divided into three main sections e Abaqus Standard subroutines Section 1 1 covers all of the user subroutines available for use in an Abaqus Standard analysis Each section discusses a particular subroutine The sections are organized alphabetically according to the subroutine name e Abaqus Explicit subroutines Section 1 2 covers all o
379. ng to degrees of freedom 1 7 and 11 12 e The backward difference scheme is used for time integration that is uM At AuM At where Auf uM a uM e For degrees of freedom 11 12 max Au will be compared against the user prescribed maximum allowable nodal temperature change in an increment Af maz for automatic control of the time integration accuracy e You must define AMATRX KNM 1 At CNM where CNM is the heat capacity matrix and RHS FN and must update the state variables H Steady state coupled thermal electrical analysis LFLAGS 1 75 e The requirements are identical to those of static analysis except that the automatic convergence checks are applied to the current density residuals corresponding to degree of freedom 9 in addition to the heat flux residuals Transient coupled thermal electrical analysis 0 LFLAGS 1 76 77 e Automatic convergence checks are applied to the current density residuals corresponding to degree of freedom 9 and to the heat flux residuals corresponding to degree of freedom 11 e The backward difference scheme is always used for time integration that is Abaqus Standard assumes that a Au At where Au utpat Ur Therefore di du 1 At always For degree of freedom 11 max Au will be compared against the user prescribed maximum allowable nodal temperature change in an increment AB az for controlling the time integration accuracy e You must define AMA
380. nnot be used if user subroutine DISP is used to prescribe connector motions 1 1 4 2 1 1 5 DLOAD DLOAD User subroutine to specifv nonuniform distributed loads Product Abaqus Standard References Distributed loads Section 32 4 3 of the Abaqus Analysis User s Manual DLOAD DSLOAD Nonuniform crack face loading and J integrals Section 1 16 7 of the Abaqus Benchmarks Manual Pure bending of a cylinder CAXA elements Section 1 3 33 of the Abaqus Verification Manual Cylinder subjected to asymmetric pressure loads CAXA elements Section 1 3 35 of the Abaqus Verification Manual Patch test for axisymmetric elements Section 1 5 4 of the Abaqus Verification Manual Transient internal pressure loading of a viscoelastic cylinder Section 2 2 8 of the Abaqus Verification Manual DLOAD Section 4 1 3 of the Abaqus Verification Manual Overview User subroutine DLOAD can be used to define the variation of the distributed load magnitude as a function of position time element number load integration point number etc will be called at each load integration point for each element based or surface based nonuniform distributed load definition during stress analysis will be called at each stiffness integration point for computing the effective axial force ESF1 for pipe elements subjected to nonuniform load types PENU and PINU cannot be used in mode based procedures to descri
381. node number NODE When updating only one field variable at a time only the value of the specified field variable see KFIELD below must be returned In this case NFIELD is passed into user subroutine UFIELD with a value of 1 and FIELD is thus dimensioned as FIELD NSECPT 1 When updating all field variables simultaneously the values of the specified number of field variables at the point must be returned In this case FIELD is dimensioned as FIELD NSECPT NFIELD where NFIELD is the number of field variables specified and KFIELD has no meaning If NODE is part of any element other than a beam or shell only one value of each field variable must be returned NSECPT 1 Otherwise the number of values to be returned depends on the mode of temperature and field variable input selected for the beam or shell section The following cases are possible 1 Temperatures and field variables for a beam section are given as values at the points shown in the beam section descriptions The number of values required NSECPT is determined by the particular section type specified as described in Beam cross section library Section 28 3 9 of the Abaqus Analysis User s Manual 2 Temperatures and field variables are given as values at n equally spaced points through each layer of a shell section The number of values required NSECPT is equal to n 3 Temperatures and field variables for a beam section are given as values at the origin of the cross sec
382. node to face and node to analytical rigid surface contact e cannot be used in conjunction with softened tangential surface behavior and e can be used only with the general contact algorithm Contact points The points considered in user subroutine VFRICTION are called contact points Each contact point is primarily associated with a slave node or a point along a slave edge the contact point also references the corresponding master surface that it contacts A contact point exists for each pairing of slave node and master surface Therefore more than one contact point may reference the same slave node but different master surfaces such as with contact at a corner The number of contact points currently being passed into user subroutine VFRICTION is nBlock The array j ConSlvUid nNodSlv nBlock gives the slave surface node numbers associated with the contact points The variable nNodS1v indicates whether a single slave node for node to face contact or two slave nodes of an edge for edge to edge contact are associated with each contact point Similarly the array jConMstUid nNodMst nBlockAnal gives the master surface node numbers associated with each contact point the nodes can belong to a facet an edge or an analytical surface The variable nNodMst indicates the number of master nodes associated with each contact point An Abaqus Explicit model can be defined in terms of an assembly of part instances see Defining an assembly Sec
383. nsion jSensorLookUpTable lFlagsDefine iComputeDeriv lFlagsDefine iComputeSecDeriv lFlagsDefine iComputeInteg 1FlagsDefine iComputeDoubleInteg PRPRR get sensor value vTrans_CUl GetSensorValue HORIZ TRANSL MOTION jSensorLookUpTable sensorValues if ampName 1 22 eq MOTOR WITH STOP SENSOR then if 1FlagsInfo iInitialization eq 1 then AmpSecDerivative zero AmpDerivative omegaFinal tAccelerateMotor ampValueNew zero AmpIncIntegral zero AmpDoubleIntegral zero svars l zero svars 2 zero else tim time iStepTime ramp up the angular rot velocitv of the electric motor after which hold constant if tim le tAccelerateMotor then AmpSecDerivative zero AmpDerivative omegaFinal tAccelerateMotor ampValueNew omegaFinal tim tAccelerateMotor AmpIncIntegral dt ampValueOld ampValueNew two AmpDoubleIntegral dt 2 ampValueOld ampValueNew four else 1 1 19 6 end end if return end UAMP AmpSecDerivative zero AmpDerivative zero ampValueNew omegaFinal AmpIncIntegral dt ampValueOld ampValueNew two AmpDoubleIntegral dt 2 ampValueOld ampValueNew four end if retrieve old sensor value vTrans_CUl_old svars 1 detect a zero crossing and count the number of crossings if vTrans_CUl_old vTrans_CUl le zero and tim gt tAccelerateMotor then svars 2 svars 2 one end if nrCrossings int svars 2 stop the motor
384. nt calculations lflags iProcedure lflags iNlgeom 0 lflags iNlgeom 1 lflags i0pCode jMassCalc lflags iOpCode jIntForceAnd DtStable lflags iOpCode jExternForce dMassScaleFactor An array containing the mass scale factors for each element time iStepTime Current value of step time Value ofthe k3 1 th predefined field variable at the k2th node of the element at the beginning or the end of the increment Values of the variables at the end of the current increment Values of the variables at the beginning of the current increment Defines the procedure tvpe See Results file output format Section 5 1 2 ofthe Abaqus Analysis User s Manual for the key used for each procedure Small displacement analysis Large displacement analysis nonlinear geometric effects included in the step see General and linear perturbation procedures Section 6 1 2 of the Abaqus Analysis User s Manual Define the mass matrix amass in the beginning of the analysis Define the element internal force Define the stable time increment as well Define the distributed load effect on the external force associated with the element 1 2 10 6 VUEL time iTotalTime Current value of total time Scalar parameters nblock Number of user elements to be processed in this call to VUEL dtimeCur Current time increment dtimePrev Previous time increment period Time period of the
385. nt CA Tel 1 510 794 5891 simulia west support 3ds com West Lafayette IN Tel 1 765 497 1373 simulia central support 3ds com Northville MI Tel 1 248 349 4669 simulia greatlakes info 3ds com Woodbury MN Tel 1 612 424 9044 simulia central support 3ds com Beachwood OH Tel 1 216 378 1070 simulia erie info 3ds com West Chester OH Tel 1 513 275 1430 simulia central support 3ds com Warwick RI Tel 1 401 739 3637 simulia east support 3ds com Lewisville TX Tel 1 972 221 6500 simulia south info 3ds com Richmond VIC Tel 61 3 9421 2900 simulia au support 3ds com Vienna Tel 43 1 22 707 200 simulia at info 3ds com Maarssen The Netherlands Tel 31 346 585 710 simulia benelux support 3ds com Toronto ON Tel 1 416 402 2219 simulia greatlakes info 3ds com Beijing P R China Tel 8610 6536 2288 simulia cn support 3ds com Shanghai P R China Tel 8621 3856 8000 simulia cn support 3ds com Espoo Tel 4358 40 902 2973 simulia nordic info 23ds com Velizv Villacoublay Cedex Tel 33 1 61 62 72 72 simulia fr support 3ds com Aachen Tel 49 241 474 01 0 simulia de info 3ds com Munich Tel 49 89 543 48 77 0 simulia de info 3ds com Chennai Tamil Nadu Tel 91 44 43443000 simulia in info 3ds com Lainate MI Tel 39 02 334306150 simulia ity info 3ds com Tokyo Tel 81 3 5442 6300 simulia tokyo support 3ds com Osaka Tel 81 6 7730 2703 simulia osaka support 3ds com Yokohama shi Kanagawa Te
386. nt This variable can be requested as output variable EFABRIC fabricStraininc nblock ndirStrain nshr Incremental nominal strain in the fabric tempOld nblock Temperatures at each material point at the beginning of the increment fieldold nblock nfieldv Values of the user defined field variables at each material point at the beginning of the increment fabricStressold nblock ndirStress nshr Nominal fabric stress at each material point at the beginning of the increment stateOld nblock nstatev State variables at each material point at the beginning of the increment 1 2 3 6 VFABRIC tempNew nblock Temperatures at each material point at the end of the increment fieldNew nblock nfieldv Values of the user defined field variables at each material point at the end of the increment enerIntern nblock Internal energy per unit mass at each material point at the beginning of the increment Example Using more than one user defined material model To use more than one user defined fabric material model the variable cmname can be tested for different fabric material names inside user subroutine VFABRIC as illustrated below if cmname 1 4 eq MATI then call VFABRIC MATI argument list else if cmname 1 4 eq MAT2 then call VFABRIC MAT2 argument list end if VFABRIC MATI and VFABRIC MAT2 are the actual fabric material user subroutines containing the constitutive material models for each material MAT1 a
387. nt number Example Hyperbolic sine creep law Suppose that we wish to model a metal using the creep behavior zer A sinh Ir gw 0 90 where A oo and n are constants User subroutine CREEP can be coded as follows SUBROUTINE CREEP DECRA DESWA STATEV SERD EC ESW P QTILD 1 TEMP DTEMP PREDEF DPRED TIME DTIME CMNAME LEXIMP LEND 2 COORDS NSTATV NOEL NPT LAYER KSPT KSTEP KINC c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME c DIMENSION DECRA 5 DESWA 5 STATEV PREDEF DPRED 1 TIME 2 COORDS EC 2 ESW 2 1 1 1 12 CREEP c C DEFINE CONSTANTS c A SIGO AN c T1 EXP QTILD SIGO T2 EXP QTILD SIGO DECRA 1 A 5 T1 T2 AN DTIME IF LEXIMP EQ 1 THEN DECRA 5 AN A 5 T1 T2 AN 1 DTIME 1 SIGO 5 T1 T2 END IF c RETURN END The derivative do g a sinh E cosh KA q 90 90 90 has been defined on the assumption that the subroutine will be used with implicit integration 1 1 1 13 DFLOW 1 1 2 DFLOW User subroutine to define nonuniform pore fluid velocitv in a consolidation analvsis Product Abaqus Standard References e Pore fluid flow Section 32 4 7 of the Abaqus Analysis User s Manual e DFLOW e DSFLOW Overview User subroutine DFLOW e can be used to define the variation of the seepage magnitude as a function of position time pore pressure etc in a soils consolidation analysis e will be ca
388. nt on the rigid surface the normal and tangent directions and the surface curvature Overpenetration constraint This routine must determine if a point on the slave surface has penetrated the rigid surface and define the local surface geometry If the deforming and rigid surfaces are in contact at this point Abaqus Standard will impose a constraint at the point to prevent overpenetration The local surface geometry must be defined to provide the necessary orientation for the constraint equations and friction directions and to allow Abaqus Standard to compute the rate of change of these equations as the point moves around on the surface the tangent stiffness matrix for the surface in the Newton algorithm For the purpose of these calculations it is best to define a smooth surface If the surface is defined in a discontinuous manner convergence may be adversely affected Calculations to be performed Each time RSURFU is called Abaqus Standard gives the current position of point A on the surface of the deforming structure x4 the current position of the rigid body reference point xc the total displacements of both of these points u4 and uc and the total rotation of the rigid body reference point do The routine should perform the following calculations 1 1 16 1 ASURFU 1 A point A must be found on the rigid surface at which the normal to the surface passes through xa If there is not a unique point A the routine
389. ntains the incremental frictional slip during the current time increment for each contact point in the current local coordinate system These incremental slips correspond to tangential motion in the time increment from t tcurr At tot teurr For penalty contact this incremental slip is used to define the local coordinate system at each contact point see Figure 1 2 4 1 and Figure 1 2 4 2 so that only the first component of dSlipFric can be nonzero in the local system The contact points for kinematic contact are determined based on penetrations detected in the predicted configuration at t teurr At and the predicted incremental slip direction is used to define the local coordinate system at each contact point Ifthe slip direction changes between increments dS lipFric may have a nonzero component in the local 2 direction and if the surface is faceted and the contact point moves from one facet to another in the local 3 direction fStickForce nContact This arrav contains the magnitude of frictional force required to enforce stick conditions at each contact point For kinematic contact this force corresponds to no slip for penaltv contact this force depends on the previous frictional force the value of the penalty stiffness and the previous incremental slip The penaltv stiffness is assigned automaticallv Occasionallv during recoverv of elastic slip associated with the penaltv method the stick force will be assigned a negative value
390. ntation of the local material axes These local material axes form a basis svstem in which stress and strain components are stored This represents a corotational coordinate svstem in which the basis svstem rotates with the material If a user specified coordinate system Orientations Section 2 2 5 of the Abaqus Analysis User s Manual is used it defines the local material axes in the undeformed configuration Special considerations for various element tvpes The use of user subroutine VUMAT requires special consideration for various element types Shell and plane stress elements You must define the stresses and internal state variables In the case of shell or plane stress elements NDIR 3 and NSHR I you must define strainInc 3 the thickness strain increment The internal energies can be defined if desired If they are not defined the energy balance provided by Abaqus Explicit will not be meaningful Shell elements When VUMAT is used to define the material response of shell elements Abaqus Explicit cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 ofthe Abaqus Analysis User s Manual for guidelines on choosing this stiffness Beam elements For beam elements the stretch tensor and the deformation gradient tensor are not available For beams in space you must define the thicknes
391. nterface SUBROUTINE FILM H SINK TEMP KSTEP KINC TIME NOEL NPT 1 COORDS JLTYP FIELD NFIELD SNAME NODE AREA INCLUDE ABA PARAM INC DIMENSION H 2 TIME 2 COORDS 3 FIELD NFIELD CHARACTER 80 SNAME user coding to define H 1 H 2 and SINK RETURN END 1 1 6 1 FILM Variables to be defined H 1 Film coefficient at this point Units are JT L29 H 1 will be passed into the routine as the magnitude of the film coefficient specified as part of the node based element based or surface based film condition definition If the magnitude is not defined H 1 will be initialized to zero This film coefficient is not available for output purposes H 2 dh d rate of change of the film coefficient with respect to the surface temperature at this point Units are JT L 207 The rate of convergence during the solution of the nonlinear equations in an increment is improved bv defining this value especiallv when the film coefficient is a strong function of surface temperature SINK Sink temperature SINK will be passed into the routine as the sink temperature specified as part of the node based element based or surface based film condition definition If the sink temperature is not defined SINK will be initialized to zero This sink temperature is not available for output purposes Variables passed in for information TEMP Estimated surface temperature at this time at this point KSTEP Step number KINC
392. nts are already rotated by this amount before UDMGINI is called This matrix is passed in as a unit matrix for small displacement analysis and for large displacement analysis if the basis system for the material point rotates with the material as in a shell element or when a local orientation is used ORI 3 3 Material orientation with respect to global basis Example User defined damage initiation criterion with two different failure mechanisms As a simple example of the coding of user subroutine UDMGINI consider a damage initiation criterion based on two different failure mechanisms the maximum principal stress and the quadratic traction interaction SUBROUTINE UDMGINI FINDEX NFINDEX FNORMAL NDI NSHR NTENS PROPS 1 NPROPS STATEV NSTATEV STRESS STRAIN STRAINEE LXFEM TIME 2 DTIME TEMP DTEMP PREDEF DPRED NFIELD COORDS NOEL NPT 3 KLAYER KSPT KSTEP INC KDIRCYC KCYCLELCF TIMECYC SSE SPD 4 SCD SVD SMD JMAC JMATYP MATLAYO LACCFLA CELENT DROT ORT INCLUDE ABA PARAM INC cc DIMENSION FINDEX NFINDEX FNORMAL NDI NFINDEX COORDS 4 1 STRESS NTENS STRAIN NTENS STRAINEE NTENS PROPS NPROPS 2 STATEV NSTATEV PREDEF NFIELD DPRED NFIELD TIME 2 3 JMAC JMATYP DROR 3 3 ORI 3 3 DIMENSION PS 3 AN 3 3 WT 6 PS 1 0 0 PS 2 0 0 PS 3 0 0 1 1 25 5 UDMGINI c C ROTATE THE STRESS TO GLOBAL SYSTEM IF THERE IS ORIENTATION C CALL ROTSIG STRESS ORI WT 1 NDI NSHR C C MAXI
393. nvariants of type Iy a and six invariants of type I5 ap with a 9 1 2 3 a lt B The following correspondence exists between each of these invariants and their enumerated counterpart Enumerated Invariant invariant li I 1 Ty I J li Lay I5 Isa1 Ig Laz Ir I5a2 Is T4 22 Is I5 22 Tio T413 If Isa3 li 14 23 li 15 23 jen 14 33 Tis I5 83 A similar scheme is used for the array zeta of terms Cag Au Ag Each term can be represented uniquely by an enumerated counterpart as shown below Dot product Enumeration m Cap a 3 D 2 B 1 a As an example for the case of three families of fibers there are three Cag terms 12 C13 and C23 These are stored in the zeta array as f C5 C3 1 2 8 2 VUANISOHVPER INV Storage of arravs of derivatives of energv function The components of the arrav duDi of first derivatives of the strain energv potential with respect to the scalar invariants 0U OI are stored using the enumeration scheme discussed above for the scalar invariants The elements of the array d2uDiDi of second derivatives of the strain energy function O U OIFOI 7 are laid out in memory using triangular storage if k denotes the component in this array corresponding to the term 92U 017017 then k i j x j 1 2 i lt j For example the term 0 U 0130Iz is stored in component k 2 5 x 4 2 12 in the d2uDiDi array Special conside
394. o define U RETURN END 1 1 43 1 UMOTION Variable to be defined U Total value of the component of the translation due to prescribed motion for the degree of freedom specified by JDOF U will be passed into the routine as the value defined by any magnitude and or amplitude specification in the motion definition for the degree of freedom JDOF The total value of the translation must be given in user subroutine UMOTION regardless of the type of motion defined displacement or velocity When used in conjunction with a steady state transport analysis U defines the magnitude of the rotational velocity In such a case JDOF is passed in as 0 Variables passed in for information KSTEP Step number KINC Increment number TIME 1 Current value of step time TIME 2 Current value of total time NODE Node number JDOF Degree of freedom When used in a steady state transport analysis JDOF is passed in as 0 1 1 43 2 UMULLINS 1 1 44 UMULLINS User subroutine to define damage variable for the Mullins effect material model Product Abaqus Standard References e Mullins effect Section 21 6 1 of the Abaqus Analysis User s Manual e MULLINS EFFECT e Mullins effect and permanent set Section 2 2 3 of the Abaqus Verification Manual Overview User subroutine UMULLINS e can be used to define the damage variable for the Mullins effect material model including the use of the Mullins effect appr
395. o the current increment field variables are restored to the values interpolated from the nodal values at the start of each increment anv historv dependence required to update material properties bv using this subroutine must be introduced with user defined state variables The state variables can be updated in VUSDFLD and then passed into other user subroutines that can be called at this material point such as those listed above The number of such state variables can be specified as shown in the example at the end of this section see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual Accessing material point data The values ofthe material point quantities at the start of the increment can be accessed through the utility routine VGETVRM described in Obtaining material point information in an Abaqus Explicit analysis Section 2 1 7 The values of the material point quantities are obtained by calling VGETVRM with the appropriate output variable keys Component ordering in symmetric tensors For symmetric tensors such as the stress and strain tensors there are ndir nshr components and the component order is given as a natural permutation ofthe indices ofthe tensor The direct components are first and then the indirect components beginning with the 12 component For example a stress tensor contains ndir direct stress components and nshr shear stress components which are retu
396. o the total effective area for fluid exchange The subroutine is called with ef fArea set to the current area associated with the material point and should be updated to reflect the area that contributes to fluid exchange Variables passed in for information nBlock Number of material points to be processed in this call to VUFLUIDEXCHEFFAREA 1 2 13 2 VUFLUIDEXCHEFFAREA nprop User specified number of user defined fluid exchange properties required to define the effective area props nprop User defined fluid exchange properties stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime fluExchName User specified fluid exchange name cMatName User specified material name associated with material points processed in this call lFabric Flag indicating whether the subroutine is called for material points on the fluid exchange surface with a fabric material lFabric I if fabric material IFabric 0 otherwise braidAngle nblock Angle in radians between the two varn directions for fabric materials strain nblock ndir nshr Fabric constitutive strains nominal strain in the varn directions and change in angle between the two varn directions or strains for nonfabric materials at current location origArea nblock Original area associated with current material point pcav 2 Absolute pressure in primarv and secondarv or ambient
397. o the value at the end of the current iteration It is set to 1 at the beginning of the analysis before UINTER is called It can be assigned any user defined integer value each corresponding to a different state You can track changes in the value of this flag and use it to output appropriate diagnostic messages to the message file unit 7 You may choose to output diagnostic messages only when a detailed contact printout is requested The Abaqus Standard message file in Output Section 4 1 1 of the Abaqus Analysis User s Manual In the latter case the LPRINT parameter is useful In conjunction with the LSTATE flag you may also utilize the LSDI flag to trigger a severe discontinuity iteration any time the state changes from one iteration to the next Any time this flag is reset to a value of 1 Abaqus Standard assumes that the flag is not being used 1 1 38 5 UINTER LSDI This flag is set to 0 before each call to UINTER and should be set to 1 if the current iteration should be treated as a severe discontinuitv iteration This would tvpicallv be done in non standard contact situations based on a change in the value of the LSTATE flag from one iteration to the next The use of this flag has no effect when the LOPENCLOSE flag is also used In that case severe discontinuitv iterations are determined based on changes in the value of LOPENCLOSE alone Variables passed in for information RDISP NDIR An array containing the cur
398. oach to model energy dissipation in elastomeric foams e will be called at all material calculation points of elements for which the material definition contains a user defined Mullins effect and e should be used when you do not want to use the form of the damage variable 7 that is used by Abaqus Standard User subroutine interface SUBROUTINE UMULLINS NUMPROPS PROPS UMAXNEW UMAXOLD SEDDEV 1 ETA DETADW DMGDISSOLD DMGDISSNEW SENERNEW NUMSTATEV STATEV 2 TEMP DTEMP NUMFIELDV FIELDV FIELDVINC CMNAME LINPER INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION PROPS STATEV FIELDV FIELDVINC user coding to define ETA DETADW and optionally DMGDISSNEW SENERNEW STATEV RETURN END 1 1 44 1 UMULLINS Variables to be defined ETA The damage variable 1 DETADW The derivative of the damage variable with respect to the elastic strain energv densitv of the undamaged material En This quantity is needed for the Jacobian of the overall system of equations and needs to be defined accurately to ensure good convergence characteristics Variables that can be updated DMGDISSNEW The energy dissipation density at the end of the increment This quantity can be defined either in total form or in an incremental manner using the old value of the damage dissipation DMGDISSOLD and the increment in damage dissipation This quantity is used for output purposes only SENERNEW The recoverable strai
399. obian is positive o k xjaci 1 1 xjac 2 2 djac xjaci 2 2 xjac 1 1 djac xjaci 1 2 xjac 1 2 djac xjaci 2 1 xjac 2 1 djac else negative or zero jacobian write 7 WARNING element jelem has neg Jacobian pnewdt fourth endif if pnewdt lt pnewdtLocal pnewdtLocal pnewdt do i 1 nnode ndim bmat i zero end do do inod 1 nnode do ider 1 ndim do idim 1 ndim irow idim inod 1 ndim bmat irow bmat irow xjaci idim ider dshape ider inod end do end do end do 1 1 28 16 a a UELMAT CALCULATE INCREMENTAL STRAINS do i 1 ntens dstran i zero end do set deformation gradient to Identity matrix do kl 1 3 do k2 1 3 defGrad kl k2 zero end do defGrad kl ki one end do COMPUTE INCREMENTAL STRAINS do nodi 1 nnode incr row nodi 1 ndof do i 1 ndof xdu i du i incr row l utmp i u i incr_row end do dNidx bmat 1 nodi 1 ndim dNidv bmat 2 nodi 1 ndim dstran 1 dstran 1 dNidx xdu 1 dstran 2 dstran 2 dNidy xdu 2 dstran 4 dstran 4 dNidy xdu 1 dNidx xdu 2 deformation gradient defGrad 1 1 defGrad 1 1 dNidx utmp 1 defGrad 1 2 defGrad 1 2 dNidy utmp 1 defGrad 2 1 defGrad 2 1 dNidx utmp 2 defGrad 2 2 defGrad 2 2 dNidy utmp 2 1 1 28 17 UELMAT a a a a end do CALL CONSTITUTIVE ROUTINE isvinc kintk 1 nsvint l integration
400. ock ndirStrain nshr strainFabricInc nblock ndirStrain nshr tempOld nblock fieldOld nblock nfieldv fabricStressold nblock ndirStress nshr stateOld nblock nstatev tempNew nblock 1 2 3 3 VFABRIC fieldNew nblock nfieldv fabricStressNew nblock ndirStress nshr stateNew nblock nstatev enerIntern nblock enerInelas nblock character 80 cmname do 100 km 1 nblock user coding 100 continue return end Variables to be defined fabricStressNew nblock ndirStress nshr Nominal fabric stress at each material point at the end of the increment This nominal fabric stress can be requested as output variable SFABRIC stateNew nblock nstatev State variables at each material point at the end of the increment You define the size of this array by allocating space for it see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information This variable can be requested as output variable SDV enerInelas nblock Total inelastic energy density at material points at the end of the increment This variable can be requested as output variable ENER Variable that can be updated fabricStrainInc ndirStrain Thickness direction strain increment The thickness can be requested as output variable STH Variables passed in for information nblock Number of material points to be processed in this call to VFABRIC ndim Two for
401. od jMstUid nMstNod jConSlvid nContact jConMstid nFacNod nContact tempSlv nContact preDefSlv nContact nPred tempMst numDefTfv preDefMst numDefTfv nPred user coding to define fTangential and optionally statev return end Variable to be defined fTangential nFricDir nContact This array must be updated to the current values of the frictional force components for all contact points in the local tangent directions See Figure 1 2 4 1 and Figure 1 2 4 2 for definition of the local coordinate system This array will be zero no friction force until you reset it Variable that can be updated statev nstateVar nSlvNod This array contains the user defined solution dependent state variables for all the nodes on the slave surface You define the size of this array see Frictional behavior Section 35 1 5 of the Abaqus Analysis User s Manual for more information This array will be passed in containing the values of these variables prior to the call to user subroutine VFRIC If any of the solution dependent state variables is being used in conjunction with the friction behavior it must be updated in this subroutine 1 2 4 4 VFRIC The state variables are available even for slave nodes that are not in contact This may be useful when for example the state variables need to be reset for slave nodes that are not in contact Variables passed in for information kStep Step number kInc Increment numb
402. ode or element number to be looked up JTYP An integer flag indicating whether INTNUM is a node or element number Set JTXP 0 to look up a node number and set JTXP I to look up an element number 2 1 5 1 OBTAINING PART INFORMATION Variables returned from the utilitv routine CPNAME The name of the part instance that contains INTNUM An emptv part instance name indicates that the node or element is at the assembly level and is not included in any part instance LOCNUM The part local node or element number corresponding to INTNUM JRCD Return code 0 no error l error GETINTERNAL and VGETINTERNAL obtain global node element number given part instance information Interface CHARACTER 80 CPNAME CALL GETINTERNAL CPNAME LOCNUM JTYP INTNUM JRCD or CALL VGETINTERNAL CPNAME LOCNUM JTYP INTNUM JRCD Variables to be provided to the utility routine CPNAME The name of the part instance that contains LOCNUM LOCNUM The part local node or element number to be looked up JTYP An integer flag indicating whether LOCNUM is a node or element number Set JTXP 0 to look up a node number and set JTYP 1 to look up an element number Variables returned from the utility routine INTNUM The internal global node or element number corresponding to LOCNUM in part instance CPNAME JRCD Return code 0 no error l error 2 1 5 2 MATERIAL POINT INFORMATION 2 1 6 OBTAINING MATERIAL POINT INFORMATION IN AN Abaq
403. oding of user subroutine UMATHT consider uncoupled heat transfer analysis in a material The equations for this case are developed here and the corresponding UMATHT is given 1 1 41 5 UMATHT This problem can also be solved bv specifving thermal conductivitv specific heat densitv and internal heat generation directiv First the equations for an uncoupled heat transfer analysis are outlined The basic energv balance is tawv gas rav JV S V where V is the volume of solid material with surface area p is the density of the material U is the material time rate of the internal thermal energy q is the heat flux per unit area of the body flowing into the body and ris the heat supplied externally into the body per unit volume A heat flux vector f is defined such that q f n where n is the unit outward normal to the surface S Introducing the above relation into the energy balance equation and using the divergence theorem the following relation is obtained ova fav f var V v Ox V The corresponding weak form is given by solar f bs tav sorav f ads JV V V S where 7 00 8 Ox is the temperature gradient and 6 is an arbitrary variational field satisfying the essential boundary conditions Introducing the backward difference integration algorithm Urpat Urar Us 1 At the weak form of the energy balance equation becomes i At J This nonlinear system is solved using Newton s method
404. of Young s modulus E and Poisson s ratio v e is called at all material calculation points of elements for which the material definition contains user defined hypoelastic behavior e can be used in conjunction with user subroutine USDFLD to redefine any field variables that are passed in see USDFLD Section 1 1 49 and e ignores any data specified outside the user subroutine for the associated hypoelastic material definition Special considerations for various element types There are several special considerations that need to be noted Beams and shells that calculate transverse shear energy When UHYPEL is used to define the material response of shell or beam elements that calculate transverse shear energy Abaqus Standard cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 of the Abaqus Analysis User s Manual and Choosing a beam element Section 28 3 3 of the Abaqus Analysis User s Manual for guidelines on choosing this stiffness Elements with hourglassing modes If this capability is used to describe the material of elements with hourglassing modes you must define the hourglass stiffness for hourglass control based on the total stiffness approach The hourglass stiffness is not required for enhanced hourglass control but you can define a scaling factor for the st
405. of incremental creep strains for the cohesion mechanism Abaqus computes the incremental creep strain or the incremental viscoplastic strain components of the cohesion mechanism as 1 1 1 4 CREEP AES 1 Acid i n tan I j Urras tan 8 g 3 3 where n 0 0o dis the material cohesion the variable f is determined in such a way that ipsa Tar do and GI is the cohesion creep potential d GT 0 1 E A i G itang tan 3 q p tan 8 Calculation of incremental creep strains for the consolidation mechanism Abaqus computes the incremental creep strain or the incremental viscoplastic strain components of the consolidation mechanism as Near 1 Ae 2 an p p D E Ger R qn 3 P Pa D where R controls the shape of the cap and GS is the consolidation creep potential Go p pa RQ Cohesion material properties are determined with a uniaxial compression test in which def ldefi and consolidation material properties are determined with a volumetric compression test in which de de lt Most likely g is a positive function of 5 and gS is a positive function of p Gaskets For gaskets whose behavior includes creep the routine allows any creep law of the following general form to be defined g o time where e 7 is the compressive creep strain conjugate to o the compressive stress in
406. of shells with hourglass stiffness you must define the hourglass stiffness parameter for hourglass control based on total stiffness see Specifying nondefault hourglass control parameters for reduced integration shell elements in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual The hourglass stiffness parameter is not required for enhanced hourglass control but you can define a scaling factor for the stiffness associated with the drill degree of freedom rotation about the surface normal Use with continuum shell elements User subroutine UGENS cannot be used to describe the section behavior of continuum shell elements User subroutine interface SUBROUTINE UGENS DDNDDE FORCE STATEV SSE SPD PNEWDT STRAN 1 DSTRAN TSS TIME DTIME TEMP DTEMP PREDEF DPRED CENAME NDI 2 NSHR NSECV NSTATV PROPS JPROPS NPROPS NUPROP COORDS CELENT 3 THICK DFGRD CURV BASIS NOEL NPT KSTEP KINC NIT LINPER 1 1 34 2 UGENS INCLUDE ABA PARAM INC CHARACTER 80 CENAME DIMENSION DDNDDE NSECV NSECV FORCE NSECV STATEV NSTATV 1 STRAN NSECV DSTRAN NSECV TSS 2 TIME 2 PREDEF 2 DPRED PROPS JPROPS COORDS 3 DFGRD 3 3 3 CURV 2 2 BASIS 3 3 user coding to define DDNDDE FORCE STATEV SSE PNEWDT RETURN END Variables to be defined DDNDDE NSECV NSECV Section stiffness matrix of the shell section
407. oid conflict ABQ_ should not be used as the leading string for cmname nstatev Number of user defined state variables that are associated with this material type see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables 1 2 14 3 VUHARD nprops User specified number of user defined material properties tempold nblock Temperatures at the material points at the beginning of the increment tempNew nblock Temperatures at the material points at the end of the increment fieldold nblock nfieldv Values of the user defined field variables at the material points at the beginning of the increment fieldNew nblock nfieldv Values of the user defined field variables at the material points at the end of the increment stateOld nblock nstatev State variables at the material points at the beginning of the increment eqps nblock Equivalent plastic strain at the material points eqpsRate nblock Equivalent plastic strain rate at the material points 1 2 14 4 VUINTER 1 2 15 VUINTER User subroutine to define the interaction between contact surfaces Product Abaqus Explicit References e User defined interfacial constitutive behavior Section 35 1 6 of the Abaqus Analysis User s Manual e xSURFACE INTERACTION e VUINTER Section 4 1 35 of the Abaqus Verification Manual Overview
408. oint at the beginning of the increment stateOld nblock nstatev State variables at each material point at the beginning of the increment tempNew nblock Temperatures at each material point at the end of the increment fieldNew nblock nfieldv Values of the user defined field variables at each material point at the end of the increment 1 2 19 3 VUVISCOSITV 1 2 20 VUVISCOSITY User subroutine to define the shear viscosity for equation of state models Product Abaqus Explicit References e Equation of state Section 24 2 1 of the Abaqus Analysis User s Manual e EOS e VISCOSITY e VUVISCOSITY Section 4 1 39 of the Abaqus Verification Manual Overview User subroutine VUVISCOSITY e is called at all material points of elements with an equation of state for which the material definition includes user defined viscous shear behavior e can be used to define a material s isotropic viscous behavior e can use and update solution dependent state variables and e can be used in conjunction with user subroutine VUSDFLD to redefine any field variables before they are passed in User subroutine interface subroutine vuviscosity C Read only nblock jElem kIntPt kLayer kSecPt stepTime totalTime dt cmname nstatev nfieldv nprops props tempOld tempNew fieldOld fieldNew stateOld shrRate C Write only viscosity stateNew c include vaba param inc c dimension pro
409. omponents beginning with the 12 component For example a stress tensor contains ndir direct stress components and nshr shear stress components which are passed in as 1 2 17 1 VUMAT Component 2 D Case 3 D Case 1 011 O11 2 022 022 3 933 933 4 012 012 5 093 6 931 The shear strain components in user subroutine VUMAT are stored as tensor components and not as engineering components this is different from user subroutine UMAT in Abaqus Standard which uses engineering components Nonsvmmetric tensors For nonsymmetric tensors there are ndir 2 nshr components and the component order is given as a natural permutation of the indices of the tensor The direct components are first and then the indirect components beginning with the 12 component For example the deformation gradient is passed as Component 2 D Case 3 D Case 1 Fu Fu 2 Foz Foe 3 F33 F33 4 Fiz Fiz 5 Fa Pas 6 Fa 7 Foi 8 F33 9 Fis Initial calculations and checks In the data check phase of the analysis Abaqus Explicit calls user subroutine VUMAT with a set of fictitious strains anda totalTime and stepTime both equal to 0 0 This is done as a check on your constitutive relation and to calculate the equivalent initial material properties based upon which the initial elastic wave speeds are computed 1 2 17 2 VUMAT Defining local orientations All stresses strains stretches and state variables are in the orie
410. onflict you should not use ABQ as the leading string for cmname coordMp nblock Material point coordinates It is the midplane material point for shell elements and the centroid for beam and pipe elements charLength nblock Characteristic element length This is a typical length of a line across an element for a first order element it is half of the same typical length for a second order element For beams pipes and trusses it is a characteristic length along the element axis For membranes and shells it is a characteristic length in the reference surface For axisymmetric elements it is a characteristic length in the r z plane only For cohesive elements it is equal to the constitutive thickness props nprops User supplied material properties density nblock Current density at the material points in the midstep configuration This value may be inaccurate in problems where the volumetric strain increment is very small If an accurate value of the density is required in such cases the analysis should be run in double precision This value of the density is not affected by mass scaling strainInc nblock ndir nshr Strain increment tensor at each material point relSpinInc nblock nshr Incremental relative rotation vector at each material point defined in the corotational system Defined as At W Q where W is the antisymmetric part of the velocity gradient L and Q R RT Stored in 3 D as 32 13 21 and in
411. onse This quantity is needed only if the current material definition also includes Mullins effect see Mullins effect Section 21 6 1 of the Abaqus Analysis User s Manual UI1 1 aU dT UI1 2 9U 91 UI1 3 9 0 UI2 1 j PU dI UI2 2 s RUJAT UI2 3 PU as 1 1 37 2 UHVPER UI2 4 02U 91 01 UI2 5 PU d1 J UI2 6 92U 91 0J UI3 1 5 O U OI 9 UI3 2 8BU dI OJ UI3 3 ae 98U 01 01 0J UI3 4 88U 91 0 2 UI3 5 98U 901 072 U13 6 UJAJ STATEV Array containing the user defined solution dependent state variables at this point These are supplied as values at the start of the increment or as values updated by other user subroutines see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual and must be returned as values at the end of the increment Variables passed in for information BI1 I BI2 Is AJ TEMP Current temperature at this point 1 1 37 3 UHVPER NOEL Element number CMNAME User specified material name left justified INCMPFLAG Incompressibilitv flag defined to be 1 if the material is specified as incompressible or 0 if the material is specified as compressible NUMSTATEV User defined number of solution dependent state variables associated with this material see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s M
412. or a mesh containing shell or beam elements NT is the largest of the values specified for the number of temperature points in the shell or beam section definition or 2 for temperatures specified together with gradients for shells or two dimensional beams 3 for temperatures specified together with gradients for three dimensional beams 1 1 14 5 MPC NF Number of different predefined field variables requested for anv node including field variables defined as initial conditions TEMP NT N An array containing the temperatures at the nodes involved in the constraint This array is not used for a heat transfer coupled temperature displacement coupled thermal electrical or coupled thermal electrical structural analysis since the temperatures are degrees of freedom of the problem FIELD NF NT N An array containing all field variables at the nodes involved in the constraint LTRAN N An integer array indicating whether the nodes in the MPC are transformed If LTRAN I 1 a transformation is applied to node I if LTRAN I 0 no transformation is applied TRAN 3 3 N An array containing the local to global transformation matrices for the nodes used in the MPC If no transformation is present at node I TRAN 1 is the identity matrix Example Nonlinear single degree of freedom MPC An example of a nonlinear single degree of freedom MPC is a geometrically nonlinear two dimensional slider involving nodes a b and c The constr
413. or small displacement analysis or perturbation analysis this array need not be defined Abaqus Standard will compute ul as NDEP U mar Me L sS u Air a Art Uypor t s 1 1 NDEP r 1 s 2 t 1 1 1 14 11 MPC For large displacement analysis this array can be updated to the value of ul at the end of the increment to satisfy the constraint exactly If the return values are the same as the incoming values Abaqus Standard will update the eliminated degrees of freedom based on the linearized form of the constraint equations In this case the constraint is not likely to be satisfied exactly LMPC Set this variable to zero to avoid the application of the multi point constraint If the variable is not changed the MPC will be applied This variable must be set to zero every time the subroutine is called if the user MPC is to remain deactivated This MPC variable is useful for switching the MPC on and off during an analysis This option should be used with care switching off an MPC may cause a sudden disturbance in equilibrium which can lead to convergence problems Variables passed in for information MDOF Number of active degrees of freedom per node in the analysis For example for a coupled temperature displacement analysis with two dimensional continuum elements the active degrees of freedom are 1 2 and 11 and hence MDOF will be equal to 3 N Number of nodes involved in the constraint The value of N is defined as the num
414. otential with respect to the scalar invariants using triangular storage 07U OI 0I ji UL3 NINV NINV 1 2 Array of derivatives with respect to J of the second derivatives of the strain energy potential using triangular storage 0 U O1I I OJ This quantity is needed only for compressible materials with a hybrid formulation when INCMPFLAG 0 and IHYBFLAG 1 STATEV Array containing the user defined solution dependent state variables at this point These are supplied as values at the start of the increment or as values updated by other user subroutines see User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual and must be returned as values at the end of the increment Variables passed in for information NFIBERS Number of families of fibers defined for this material NINV Number of scalar invariants TEMP Current temperature at this point 1 1 20 4 UANISOHVPER INV NOEL Element number CMNAME User specified material name left justified INCMPFLAG Incompressibilitv flag defined to be 1 if the material is specified as incompressible or 0 if the material is specified as compressible IHYBFLAG Hybrid formulation flag defined to be 1 for hybrid elements 0 otherwise NUMSTATEV User defined number of solution dependent state variables associated with this material see Allocating space in User subroutines overview Section 17 1 1 ofthe Abaqus Analysis User
415. outine USDFLD or UEXPAN in which case the updated values are passed in If any of the solution dependent variables are being used in conjunction with the creep behavior and the routine was called at the end of the increment LEND 1 see the definition of LEND below they must be updated in this subroutine to their values at the end of the increment Furthermore if the solution dependent state variables are defined as a function of the creep swelling strain increment they must be updated based on the creep swelling strain increment computed as EC 2 EC 1 likewise ESW 2 ESW 1 where EC 1 EC 2 ESW 1 and ESW 2 are defined below You define the size of this array by allocating space for it see Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual for more information Magnitude of the strain energy rate density W required only in C integral calculations The strain energy rate density is defined as sw W a q d cr f pds alli o de d 0 Elastic rates are ignored in the calculation of W The contour integral will therefore be path independent only for steady state creep conditions that is when the creep straining dominates throughout the specimen Variables passed in for information EC 1 The definition depends on the usage eck e Metal creep and Drucker Prager creep at the start of the increment e Capped Drucker Prager creep
416. outine depending on the contact condition in the previous increment If the contact point was slipping LM is equal to 0 if the contact point was sticking LM is equal to 1 and if the contact point was open LM is equal to 2 Set LM equal to 0 if relative motion is allowed either due to slip or elastic stick In this case the subroutine must specify the frictional stress 7 and 72 for three dimensional analysis as a function of the relative sliding motion vi and 72 the interface contact pressure p and other predefined or user defined state variables In addition the subroutine must define the derivatives of the frictional stress with respect to 71 92 and p For instance in the case of isotropic elastic sticking 07 3y1 072 072 kelas 071 072 O72 07 0 where ketas is the elastic stiffness of the interface Set LM equal to 1 if no relative motion is allowed a rigid sticking condition at the interface is enforced by a Lagrange multiplier method In this case no further variables need to be updated If LM is always set to 1 a perfectly rough interface is created It is not advisable to set LM to 1 when the finite sliding surface to surface contact formulation is used Set LM equal to 2 if friction is ignored frictionless sliding is assumed In this case no further variables need to be updated If LM is always set to 2 a perfectly smooth interface is created You can make decisions about the stick slip conditio
417. outine to define frictional behavior for contact surfaces ser subroutine to specify amplitudes ser subroutine to define anisotropic hyperelastic material behavior ing the invariant formulation ser subroutine to define anisotropic hyperelastic material behavior ased on Green strain ser subroutine to define an element ser subroutine to specify predefined field variables ser subroutine to define the mass flow rate heat energy flow rate for uid exchange ser subroutine to define the effective area for fluid exchange ser subroutine to define the yield surface size and hardening arameters for isotropic plasticity or combined hardening models ser subroutine to define the interaction between contact surfaces ser subroutine to define the contact interaction between surfaces with the general contact algorithm User subroutine to define material behavior User subroutine to redefine field variables at a material point User subroutine to define a reduced time shift function for a viscoelastic material BPCcaqcsaqagsaqqqqqqacg qayzacq A 2 3 APPENDIX A INDEX VUVISCOSITY User subroutine to define the shear viscosity for equation of state models VWAVE User subroutine to define wave kinematics for an Abaqus Aqua analysis About SIMULIA SIMULIA is the Dassault Systemes brand that delivers a scalable portfolio of Realistic Simulation solutions including the Abaqus product suite for Unified Finite Element Analysis multiphy
418. overwritten If 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 DTIME Time increment This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus if automatic time incrementation is chosen It is passed in as the value 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 Only if utility routine POSFIL is called NSTEP Desired step at which file reading will begin via utility routine DBFILE If NSTEP is set to 0 the first available step will be read NINC Desired increment at which file reading will begin via utility routine DBFILE If NINC is set to 0 the first available increment of the specified step will be read Variables passed in for information KSTEP Step number KINC Increment number TIME 1 Value of the step time at the end of the increment TIME 2 Value of the total time at the end of the increment 1 1 48 2 URDFIL Terminating an analvsis upon exceeding a Mises stress
419. ox VUANISOHYPER_INV bil sInvariant k 1 term bil three Udev k Udev k al term a2 term 2 a3 term 3 duDi k 1 al two a2 term three a3 term 2 d2uDiDi k indx 1 1 two a2 three two a3 term I2 bi2 sInvariant k 2 term bi2 three Udev k Udev k bl term b2 term 2 b3 term 3 duDi k 2 bl two b2 term three b3 term 2 d2uDiDi k indx 2 2 two b2 three two b3 term I3 J bi3 sInvariant k 3 term bi3 one duDi k 3 two dinv term d2uDiDi k indx 3 3 two dinv I4 11 nI411 indxInv4 1 1 bi411 sInvariant k nI411 term bi411 one Udev k Udev k c2 term 2 c3 term 3 c4 term 4 c5 term 5 c6 term 6 duDi k nI411 two c2 term three c3 term 2 four c4 term 3 five c5 term 4 six c6 term 5 d2uDiDi k indx nI411 nI411 two c2 three two c3 term four three c4 term 2 five four c5 term 3 six five c6 term 4 I5 11 nI511 indxInv5 1 1 bi511 sInvariant k nI511 term bi511 one Udev k Udev k 1 2 8 9 VUANISOHVPER INV Xxx o ox F ox F ox d2 term 2 d3 term 3 d4 term 4 d5 term 5 d6 term 6 duDi k nI511 two d2 term three d3 term 2 four d4 term 3 five d5 term 4 six d6 term 5 d2uDiDi k indx nI511 nI51l1l two d2 three two d3 term four three d4 term 2 five four d5 term 3 six five d6 term 4 I4 22
420. plicitlv determine the number of dependent degrees of freedom NDEP For example if the dependent degrees of freedom are the zdisplacement the x rotation and the z rotation at the first node NDEP 3 and JDOF 1 1 3 JDOF 2 1 4 JDOF 3 1 6 If the degrees of freedom at the third node involved in the MPC are the z displacement and the y rotation define JDOF 1 3 1 JDOF 2 3 5 A MDOF MDOF N Submatrices of coefficients of the linearized constraint function A I J 1 A A I J 2 Aj Before each call to user subroutine MPC Abaqus Standard will initialize all of the entries of A to zero therefore only nonzero entries need to be defined If the coding in the subroutine defines NDEP nonzero entries in the column JDOF J 1 it should define NDEP x NDEP entries inthe submatrix A I J 1 Since this submatrix will be inverted to impose the MPC it must be nonsingular A maximum of NDEP x MDOF entries can be defined for the remaining submatrices A I J K K 2 N The number of columns in each submatrix A I J K must correspond to the number of nonzero entries in the corresponding column of the matrix JDOF J K Variables that can be updated UE NDEP This array is passed in as the total value of the eliminated degrees of freedom u This array will either be zero or contain the current values of ul based on the linearized constraint equations depending at which stage of the iteration the user subroutine is called F
421. ponent of the modified Green strain JU def The last component contains the derivative with respect to the volume ratio 9U 0J The array of second derivatives of the strain energy function DU2 contains NTENS 1 NTENS 2 2 components These components are ordered using the following triangular storage scheme 1 1 21 1 UANISOHVPER STRAIN Component 2 D Case 3 D Case 1 PU OEG OFF OU OES OE 2 U 0ES OFF OU deF dey 3 U I 05 U I ES 4 0 U dEG OES 8 U deG 985 5 WU AE BES 3 U 0EG FF 6 U kg IES BU OES OES 7 OU deG eG OU deG de 8 U I oE U L 9 WUJOEZOE U EZ EE 10 U I oE O U 0E IE 11 OU dEG J 8 U 0EG OES 12 0 U 0EZ OT U I IEG 13 WU OES 0J 8 U deG 0ES 14 0U 0EZ OT OU deGZaeG 15 PU aJ 0 U dEG OES 16 OU 027 855 17 WU 6EZ0eS 18 B U 6ES 0ES 19 OU de 0e9 20 0 U 0ES OES 21 U I 085 22 PU de OJ 23 PU 0EZ OF 24 PU deS 0I 25 PUES aT 26 U kg OF 1 1 21 2 UANISOHVPER STRAIN Component 2 D Case 3 D Case 27 U dEg OT 28 RU OR Finally the array of third derivatives of the strain energy function DU3 also contains NTENS 1 NTENS 2 2 components each representing the derivative with respect to J of the corresponding component of DU2 It follows the same triangular storage scheme as DU2 Special considerations for various element types There are several special considerations that need to be noted Shells that calculat
422. prescribe predefined field variables Explicit solution dependence Since this routine provides 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 you can control the time increment in this routine by means of the variable PNEWDT Defining field variables Before user subroutine USDFLD is called the values of the field variables at the material point are calculated bv interpolation from the values defined at the nodes Anv changes to the field variables in the user subroutine are local to the material point the nodal field variables retain the values defined 1 1 49 1 USDFLD as initial conditions predefined field variables or in user subroutine UFIELD The values of the field variables defined in this routine are used to calculate values of material properties that are defined to depend on field variables and are passed into other user subroutines that are called at the material point such as the following e CREEP e HETVAL e UEXPAN e UHARD e UHYPEL e UMAT e UMATHT e UTRS Output of the user defined field variables at the material points can be obtained with the element integration point output variable FV see Abaqus Standard output variable i
423. ps coords ncrd u du v a jtvpe jElem time period dtimeCur dtimePrev kstep kinc lflags dMassScaleFactor predef npredef ndload adlmag HF d include vaba param inc c operation code parameter jMassCalc 1 jIntForceAndDtStable 4 c flags parameter iProcedure 1 iNlgeom 2 iOpCode 3y nFlags 3 c procedure flags parameter jDynExplicit 17 c time parameter iStepTime 1 iTotalTime 2 nTime 2 c energies parameter iElPd 1 iElCd 2 iElIe 3 iElTs 4 iElDd 5 iElBv 6 iElDe 7 iElHe 8 iElKe 9 iElTh 10 iElDmd 11 1 2 10 10 F a VUEL iElDc 12 nElEnergy 12 parameter factorStable 0 99d0 parameter zero 0 d0 half 0 5d0 one 1 d0 two 2 d0 dimension rhs nblock ndofel amass nblock ndofel ndofel dtimeStable nblock svars nblock nsvars energy nblock nElEnergy props nprops jprops njprops jElem nblock time nTime l nFlags coords nblock nnode ncrd u nblock ndofel du nblock ndofel v nblock ndofel a nblock ndofel predef nblock nnode npredef nPred adlmag nblock dMassScaleFactor nblock Notes Define onlv nonzero entries the arravs to be defined have been zeroed out just before this call if jtvpe eq 1001 and lflags iProcedure eq jDynExplicit then area0 props 1 eMod props 2 anu props 3 rho props 4 eDa
424. ps 12 d2 props 13 d3 props 14 d4 props 15 d5 props 16 d6 props 17 e2 props 18 e3 props 19 e4 props 20 e5 props 21 e6 props 22 f2 props 23 3 props 24 f4 props 25 f5 props 26 6 props 27 g2 props 28 g3 props 29 g4 props 30 g5 props 31 g6 props 32 UANISOHYPER_INV Compute Udev and 1st and 2nd derivatives w r t invariants Il bil aInv 1 term bil three ua 2 al term a2 term 2 a3 term 3 UANISOHVPER INV uil 1 al two a2 term three a3 term 2 ui2 indx 1 1 two a2 three two a3 term c I2 bi2 alnv 2 term bi2 three ua 2 ua 2 bl term b2 term 2 b3 term 3 uil 2 bl two b2 term three b3 term 2 ui2 indx 2 2 two b2 three two b3 term c I3 J bi3 aInv 3 term bi3 one uil 3 two dInv term ui2 indx 3 3 two dInv c I4 11 nI411 indxInv4 1 1 bi411 aInv nI411 term bi411 one ua 2 ua 2 c2 term 2 c3 term 3 c4 term 4 c5 term 5 c6 term 6 uil nI411 two c2 term three c3 term 2 four c4 term 3 five c5 term 4 six c6 term 5 ui2 indx nI411 nI411 two c2 three two c3 term four three c4 term 2 five four c5 term 3 six five c6 term 4 F C I5 11 nI511 indxInv5 1 1 bi511 aInv nI511 term bi511 one ua 2 ua 2 d2 term 2 d3 term 3 d4 term 4 d5 term 5 d6 term 6 uil nI511 two d2 term three d3 term 2
425. ps nprops tempOld nblock tempNew nblock 1 2 20 VUVISCOSITV fieldold nblock nfieldv fieldNew nblock nfieldv stateOld nblock nstatev eqps nblock eqpsRate nblock viscosity nblock stateNew nblock nstatev jElem nblock PWD character 80 cmname do 100 km 1 nblock user coding 100 continue Cc return end Variables to be defined viscosity nblock Array containing the viscosity at the material points Units of FL T stateNew nblock nstatev Array containing the state variables at the material points at the end of the increment The allocation of this array is described in Solution dependent state variables in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual Variables passed in for information nblock Number of material points to be processed in this call to VUVISCOSITY jElem nblock Array of element numbers kIntPt Integration point number kLayer Layer number for composite shells kSecPt Section point number within the current layer stepTime Value of time since the step began totalTime Value of total time The time at the beginning of the step is given by totalTime stepTime 1 2 20 2 VUVISCOSITV dt Time increment size cmname Material name left justified It is passed in as an uppercase character string Some internal material models are given names starting with the ABQ character string To avoid conflict A
426. qus Analysis User s Manual for guidelines on choosing this stiffness Elements with hourglassing modes If this capability is used to describe the material of elements with hourglassing modes you must define the hourglass stiffness for hourglass control based on the total stiffness approach The hourglass stiffness is not required for enhanced hourglass control but you can define a scaling factor for the stiffness associated with the drill degree of freedom rotation about the surface normal See Section controls Section 26 1 4 of the Abaqus Analysis User s Manual User subroutine interface SUBROUTINE UHYPER BI1l BI2 AJ U UI1 UI2 UI3 TEMP NOEL 1 CMNAME INCMPFLAG NUMSTATEV STATEV NUMFIELDV FIELDV 1 1 37 UHVPER 2 FIELDVINC NUMPROPS PROPS c INCLUDE ABA PARAM INC c CHARACTER 80 CMNAME DIMENSION U 2 UI1 3 UI2 6 UI3 6 STATEV FIELDV 2 FIELDVINC PROPS user coding to define U UI1 UI2 UI3 STATEV RETURN END Variables to be defined U 1 U strain energy density function For a compressible material at least one derivative involving J should be nonzero For an incompressible material all derivatives involving J will be ignored The strain invariants I Io and J are defined in Hyperelastic behavior of rubberlike materials Section 21 5 1 of the Abaqus Analysis User s Manual U 2 Udev the deviatoric part of the strain energy density of the primary material resp
427. r a given increment are not influenced by the results obtained during the increment Hence the accuracv of the results depends on the size of the time increment However in most situations this is nota concern for explicit dvnamic analvsis because the stable time increment is usuallv sufficientiv small to ensure good accuracv Defining field variables Before user subroutine VUSDFLD is called the values of the field variables at the material point are calculated by interpolation from the values defined at the nodes Any changes to the field variables in the user subroutine are local to the material point the nodal field variables retain the values defined as initial conditions or predefined field variables or the values defined in user subroutine VUFIELD The values of the field variables defined in this routine are used to calculate values of material properties that 1 2 18 1 VUSDFLD are defined to depend on field variables and are passed into other user subroutines that are called at the material point such as the following e VUANISOHYPER INV e VUANISOHYPER STRAIN e VUHARD e VUMAT e VUTRS e VUVISCOSITY Output of the user defined field variables at the material points can be obtained with the element integration point output variable FV see Abaqus Explicit output variable identifiers Section 4 2 2 of the Abaqus Analvsis User s Manual State variables Since the redefinition of field variables in VUSDFLD is local t
428. r for prescribed degrees of freedom The values given by rval j k are prescribed only if jDof j equals 1 jNodeUid nblock Node numbers amp nblock Amplitude values corresponding to the associated amplitude functions These values are passed in for information only and will not contribute to the values of the prescribed variable automatically 1 2 1 3 VDISP coordNp nCoord nblock Nodal point coordinates u nDof nblock Nodal point displacements at stepTime All translations are included if one or more translational degrees of freedom are prescribed All rotations are included if one or more rotational degrees of freedom are prescribed v nDof nblock Nodal point velocities at zero step time during initialization or nodal point mean velocities at stepTime dt 2 during time incrementation All translational velocities are included if one or more translational degrees of freedom are prescribed All angular velocities are included if one or more rotational degrees of freedom are prescribed a nDof nblock Nodal point accelerations at stepTime before the boundary condition is prescribed All translational accelerations are included if one or more translational degrees of freedom are prescribed All angular accelerations are included if one or more rotational degrees of freedom are prescribed rf nDof nblock Nodal point reaction at stepTime dt All reaction forces are included if one or more translational degrees of freedom a
429. ral analysis step LFLAG 0 1 1 32 4 UFLUIDLEAKOFF 1 1 33 UFLUIDLEAKOFF User subroutine to define the fluid leak off coefficients for pore pressure cohesive elements Product Abaqus Standard References e Defining the constitutive response of fluid within the cohesive element gap Section 31 5 7 of the Abaqus Analvsis User s Manual e FLUID LEAKOFF e Propagation of hvdraulicallv driven fracture Section 3 4 2 of the Abaqus Verification Manual Overview User subroutine UFLUIDLEAKOFF e can be used to define the fluid leak off coefficients for pore pressure cohesive elements e is called at all material calculation points of elements for which the material definition contains user defined leak off coefficients and e can include material behavior dependent on field variables or state variables User subroutine interface SUBROUTINE UFLUIDLEAKOFF PERM PGRAD DN P INT P BOT P TOP 1 ANM TANG TIME DTIME TEMP DTEMP PREDEF DPRED C BOT C TOP 2 DC BOT DC TOP STATEV NSTATV NOEL NPT KSTEP KINC INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION PERM 2 PGRAD 2 ANM 3 TANG 3 2 TIME 2 PREDEF 1 1 DPRED 1 DC BOT 3 DC TOP 3 STATEV NSTATV user coding to define C BOT C TOP DC BOT and DC TOP RETURN END 1 1 33 UFLUIDLEAKOFF Variables to be defined C BOT Coot fluid leak off coefficient on the bottom side of a pore pressure cohesive element C TOP Cop fluid leak of
430. rations for shell elements When VUANISOHYPER_ INV is used to define the material response of shell elements Abaqus Explicit cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 of the Abaqus Analysis User s Manual for guidelines on choosing this stiffness Material point deletion Material points that satisfy a user defined failure criterion can be deleted from the model see User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual You must specify the state variable number controlling the element deletion flag when you allocate space for the solution dependent state variables as explained in User defined mechanical material behavior Section 25 7 1 of the Abaqus Analysis User s Manual The deletion state variable should be set to a value of one or zero in VUANISOHYPER_INV A value of one indicates that the material point is active and a value of zero indicates that Abaqus Explicit should delete the material point from the model by setting the stresses to zero The structure of the block of material points passed to user subroutine VUANISOHYPER_INV remains unchanged during the analysis deleted material points are not removed from the block Abaqus Explicit will freeze the values of the invariants passed to VUANISOHYPER_ INV for all deleted
431. rdinate of the K2th node of the element U DU V A Arrays containing the current estimates of the basic solution variables displacements rotations temperatures depending on the degree of freedom at the nodes of the element at the end of the current increment Values are provided as follows U K1 Total values of the variables If this is a linear perturbation step it is the value in the base state DU K1 KRHS Incremental values of the variables for the current increment for right hand side KRHS If this is an eigenvalue extraction step this is the eigenvector magnitude for eigenvector KRHS For steady state dynamics KRHS 1 denotes real components of perturbation displacement and KRHS 2 denotes imaginary components of perturbation displacement V K1 Time rate of change of the variables velocities rates of rotation Defined for implicit dynamics only LFLAGS 1 11 or 12 A K1 Accelerations of the variables Defined for implicit dynamics only LFLAGS 1 11 or 12 1 1 27 4 veL JDLTYP An array containing the integers used to define distributed load types for the element Loads of type Un are identified by the integer value n in JDLTYP loads of type UnNU are identified by the negative integer value n in JDLTYP JDLTYP K1 K2 is the identifier of the K1th distributed load in the K2th load case For general nonlinear steps K2 is always 1 ADLMAG For general nonlinear steps ADLMAG K1 1 is the total
432. re starting the response history See Geostatic stress state Section 6 8 2 ofthe Abaqus Analysis User s Manual for a discussion of defining initial equilibrium conditions for problems that include pore fluid pressure User subroutine interface SUBROUTINE SIGINI SIGMA COORDS NTENS NCRDS NOEL NPT LAXER 1 KSPT LREBAR NAMES INCLUDE ABA PARAM INC 1 1 18 1 SIGINI DIMENSION SIGMA NTENS COORDS NCRDS CHARACTER NAMES 2 80 user coding to define SIGMA NTENS RETURN END Variables to be defined SIGMA 1 First stress component SIGMA 2 Second stress component SIGMA 3 Third stress component Etc Only NTENS stress values should be defined where NTENS depends on the element type Variables passed in for information COORDS An array containing the initial coordinates of this point NTENS Number of stresses to be defined which depends on the element type NCRDS Number of coordinates NOEL Element number NPT Integration point number in the element LAYER Layer number for composite shells and layered solids KSPT Section point number within the current layer 1 1 18 2 SIGINI LREBAR Rebar flag If LREBAR I the current integration point is associated with element rebar Otherwise LREBAR 0 NAMES 1 Name of the rebar to which the current integration point belongs which is the name given in the rebar or rebar layer definition Defining reinforcement Section 2
433. re at the start of the increment DTEMP Increment of temperature PREDEF Array of interpolated values of predefined field variables at this point at the start of the increment based on the values read in at the nodes DPRED Array of increments of predefined field variables NSTATV Number of solution dependent state variables that are associated with this material type defined as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual 1 1 33 3 UFLUIDLEAKOFF NOEL Element number NPT Integration point number KSTEP Step number KINC Increment number 1 1 33 4 UGENS 1 1 34 UGENS User subroutine to define the mechanical behavior of a shell section Product Abaqus Standard References e Usinga general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual e xSHELL GENERAL SECTION Overview User subroutine UGENS e is used to define the nonlinear mechanical behavior of a shell section directly in terms of generalized section quantities e requires you to define the section behavior of the shell directly in terms of membrane stresses and forces curvature changes and bending moments e will be called at all integration points in all shell elements with a general arbitrarv elastic shell section and a user subroutine defined shell section stiffness and e can be used with all s
434. re prescribed All reaction moments are included if one or more rotational degrees of freedom are prescribed rmass nblock Nodal point masses rotaryI 3 3 nblock Nodal point rotary inertia Example Imposition of acceleration on a rigid body with nonzero initial velocity In this example a sinusoidal acceleration is imposed on the reference node of a rigid body Nonzero initial velocity is also specified for the rigid body User subroutine VDISP given below illustrates how the return value array is to be computed for different phases of the solution The analysis results show that both the initial velocity and acceleration are correctly specified Input file HEADING Test VDISP with S4R element xNODE NSET NALL 1 2 20 3 0 2 4 2 2 1 2 1 4 VDISP 9 le Lay 0h xELEMENT TYPE S4R ELSET SHELL 10 1 2 4 3 SHELL SECTION ELSET SHELL MATERIAL ELSHELL 2 0000000e 02 3 MATERIAL NAME ELSHELL DENSITY 7850 0 xELASTIC 2 5000000e 11 3 0000000e 01 RIGID BODY REF NODE 9 ELSET SHELL xINITIAL CONDITIONS Type VELOCITY 9 1 0 4 STEP DYNAMIC EXPLICIT DIRECT USER CONTROL 0 01 0 8 BOUNDARY USER TYPE ACCELERATION 9 1 xOUTPUT HISTORY TIME INTERVAL 0 01 OP NEW NODE OUTPUT NSET NALL U V A END STEP User subroutine subroutine vdisp c Read only variables nblock nDof nCoord kstep kinc stepTime totalTime dtNext dt cbname jBCType jDof jNodeUid amp coordNp u
435. rence point k 1 2 3 are the displacement components ki 4 5 6 are the rotation components For two dimensional cases the only nonzero rotation component is k 6 U 4 2 and U 5 2 are both zero CINAME User specified surface interaction name left justified For user defined contact elements it is either the element set name given for the interface definition or the optional name assigned to the interface definition SLNAME Slave surface name Passed in as blank if RSURFU is called for contact elements MSNAME Master surface name Passed in as blank if RSURFU is called for contact elements NOEL Element label for contact elements Passed in as zero if RSURFU is called for a contact pair NODE Node number for point A For the surface to surface contact formulation this quantity is passed in as 0 LCLOSE Flag indicating contact status at the beginning of the increment LCLOSE I indicates that A is in contact closed at the beginning of the increment LCLOSE 0 indicates that A is not in contact open 1 1 16 4 RSURFU at the beginning of the increment If LCLOSE 1 P TGT and DNDS must be defined even if A opens during this increment LCLOSE is not used for the surface to surface contact formulation and is passed in as 0 Example Rigid punch The input files for the following examples can be found in RSURFU Section 4 1 10 of the Abaqus Verification Manual The following discussion pertains onlv to the node to surfac
436. rent relative positions between the two surfaces at the end of the increment The first component is the relative position of the point on the slave surface with respect to the master surface in the normal direction The second and third components if applicable are the accumulated incremental relative tangential displacements measured from the beginning of the analysis For the relative position in the normal direction a negative quantity represents an open status while a positive quantity indicates penetration into the master surface For open points on the slave surface for which no pairing master is found the first component is a very large negative number 1 x 10 The local directions in which the relative displacements are defined are stored in ALOCALDIR DRDISP NDIR TEMP An array containing the increments in relative positions between the two surfaces 2 Temperature at the end ofthe increment at a point on the slave surface and the opposing master surface respectively DTEMP 2 Increment in temperature at the point on the slave surface and the opposing master surface respectively PREDEF 2 NPRED An array containing pairs of values of all the predefined field variables at the end of the current increment initial values at the beginning of the analysis and current values during the analysis The first value in a pair PREDEF 1 NPRED corresponds to the value at the point on the slave surface and the second va
437. required for enhanced hourglass control but you can define a scaling factor for the stiffness associated with the drill degree of freedom rotation about the surface normal See Section controls Section 26 1 4 of the Abaqus Analysis User s Manual for information on specifying the stiffness factor Pipe soil interaction elements The constitutive behavior of the pipe soil interaction elements see Pipe soil interaction elements Section 31 12 1 of the Abaqus Analysis User s Manual is defined by the force per unit length caused by relative displacement between two edges of the element The relative displacements are available as strains STRAN and DSTRAN The corresponding forces per unit length must be defined in the STRESS array The Jacobian matrix defines the variation of force per unit length with respect to relative displacement For two dimensional elements two in plane components of stress and strain exist NTENS NDI 2 and NSHR 0 For three dimensional elements three components of stress and strain exist NTENS NDI 3 and NSHR 0 Large volume changes with geometric nonlinearity If the material model allows large volume changes and geometric nonlinearity is considered the exact definition of the consistent Jacobian should be used to ensure rapid convergence These conditions are most commonly encountered when considering either large elastic strains or pressure dependent 1 1 40 3 UM
438. rface call vsprind nblock s eigVal eigVec ndir nshr Variables to be provided to the utility routine s nblock ndir nshr Stress or strain symmetric tensor nblock Number of material points to be processed in this call to VSPRIND ndir Number of direct components in the symmetric tensor nshr Number of shear components in the symmetric tensor Variables returned from the utility routine eigVal nblock I I 1 2 3 The three principal values eigVec nblock I K1 I 1 2 3 The direction cosines of the principal directions corresponding to eigVal K1 2 1 12 2 Abaqus Aqua UTILITV ROUTINES 2 1 13 OBTAINING WAVE KINEMATIC DATA IN AN Abaqus Aqua ANALVSIS Product Abaqus Aqua References e UEL Section 1 1 27 e UWAVE Section 1 1 54 e Abaqus Aqua analysis Section 6 11 1 of the Abaqus Analysis User s Manual e xAQUA e UEL Section 4 1 14 of the Abaqus Verification Manual Overview Utilitv routines GETWAVE GETWAVEVEL GETWINDVEL and GETCURRVEL are provided to access the fluid kinematic data for an Abaqus Aqua analysis These routines can be used only from within user subroutine UEL GETWAVE get wave kinematics Interface PARAMETER MWCOMP number of wave components DIMENSION WAMP MWCOMP WPERD MWCOMP WXLAMB MWCOMP 1 WPHI MWCOMP WOFF 3 WANG 2 MWCOMP CALL GETWAVE MWCOMP NWCOMP WAMP WPERD WXLAMB WPHI WOFF WANG 1 ELEVB ELEVS JWTYPE JRCD Variab
439. ring the routine SRESID is copied to AAARAMAAN 1 1 27 14 aaaaaaaa UEL SVARS l 6 after the dvnamic residual has been calculated For half increment residual calculations In 7 12 contains the static residual at the beginning of the previous increment SVARS 1 6 are copied into SVARS 7 12 after the dynamic residual has AREA ANU RHO ALEN AK AM DO K SR DO DO END been calculated PROPS 1 PROPS 2 PROPS 3 PROPS 4 ABS COORDS 1 2 COORDS 1 1 AREA E ALEN HALF AREA RHO ALEN 1 1 NDOFEL ZERO KRHS 1 NRHS RHS K1 KRHS END DO K2 1 NDOFEL AMATRX K2 K1 END DO ESID K1 DO ZERO ZERO IF LFLAGS 3 EQ 1 THEN Normal incrementation IF LFLAGS 1 EQ 1 OR LFLAGS 1 EQ 2 THEN STATIC AMATRX 1 1 AK AMATRX 4 4 AK AMATRX 1 4 AK AMATRX 4 1 AK IF LFLAGS 4 NE O THEN FORCE AK U 4 U 1 DFORCE AK DU 4 1 DU 1 1 SRESID 1 DFORCE SRESID 4 DFORCE RHS 1 1 RHS 1 1 SRESID 1 RHS 4 1 RHS 4 1 SRESID 4 1 1 27 15 veL ENERGY 2 HALF FORCE DU 4 1 DU 1 1 HALF DFORCE U 4 U 1 HALF DFORCE DU 4 1 DU 1 1 ELSE FORCE AK U 4 U 1 SRESID 1 FORCE SRESID 4 FORCE RHS 1 1 RHS 1 1 SRESID 1 RHS 4 1 RHS 4 1 SRESID 4 DO KDLOAD 1 NDLOAD IF JDLTYP KDLOAD 1 EQ 1001 THEN RHS 4 1 RHS 4 1 ADLMAG KDLOAD 1 ENERGY 8 ENERGY 8 ADLMAG KDLOAD 1
440. rion ser subroutine to define nonuniform surface current density in an eddy urrent analysis ser subroutine to define an element ser subroutine to define an element with access to Abaqus materials ser subroutine to define incremental thermal strains ser subroutine to manage user defined external databases and alculate model independent history information qaqqgaega GOGOL User subroutine to specify predefined field variables User subroutine to define fluid density and fluid compliance for hydrostatic fluid elements User subroutine to define the fluid leak off coefficients for pore pressure cohesive elements User subroutine to define the mechanical behavior of a shell section User subroutine to define the yield surface size and hardening parameters for isotropic plasticity or combined hardening models User subroutine to define a hypoelastic stress strain relation User subroutine to define a hyperelastic material User subroutine to define surface interaction behavior for contact surfaces User subroutine to specify prescribed mass flow rate conditions for a convection diffusion heat transfer analysis User subroutine to define a material s mechanical behavior User subroutine to define a material s thermal behavior User subroutine to specify mesh motion constraints during adaptive meshing User subroutine to specify motions during cavity radiation heat transfer analysis or steady state transport analysis
441. rm seepage coefficient and associated sink pore pressure for consolidation analysis 1 1 7 FRIC Define frictional behavior for contact surfaces 1 1 8 FRIC_COEF Define the frictional coefficient for contact surfaces 1 1 9 GAPCON Define conductance between contact surfaces or nodes in a fully coupled temperature displacement analysis coupled thermal electrical structural analysis or pure heat transfer analysis 1 1 10 GAPELECTR Define electrical conductance between surfaces in a coupled thermal electrical or a coupled thermal electrical structural analysis 1 1 11 HARDINI Define initial equivalent plastic strain and initial backstress tensor 1 1 12 HETVAL Provide internal heat generation in heat transfer analysis 1 1 13 MPC Define multi point constraints 1 1 14 ORIENT Provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid body directions for inertia relief 1 1 15 RSURFU Define a rigid surface 1 1 16 SDVINI Define initial solution dependent state variable fields 1 1 17 SIGINT Define an initial stress field 1 1 18 UAMP Specify amplitudes 1 1 19 UANISOHYPER_INV Define anisotropic hyperelastic material behavior using the invariant formulation 1 1 20 UANISOHYPER_STRAIN Define anisotropic hyperelastic material behavior based on Green strain 1 1 21 UCORR Define cross correlation properties for random response loading 1 1 22 UDECURRENT Define nonun
442. rmation Arrays props A floating point array containing the nprops real property values defined for use with each element processed nprops is the user specified number of real property values See Defining the element properties in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual jprops An integer array containing the njprops integer property values defined for use with each element processed njprops is the user specified number of integer property values See Defining the element properties in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual coords An array containing the original coordinates of the nodes of the element coords kblock k1 k2 is the k2th coordinate of the k1th node of the kblock element 1 2 10 4 VUEL u du v a Arrays containing the basic solution variables displacements rotations temperatures pressures depending on the degree of freedom at the nodes of the element Values are provided as follows illustrated below for the kith degree of freedom of the kblock element u kblock k1 Total value of the variables such as displacements or rotations at the end of the current increment du kblock kl Incremental values of the variables in the current increment v kblock k1 Time rate of change of the variables velocities rates of rotation at the midpoint of the increment a kblock kl Accelerations of the variables
443. rned ARRAY with components associated with the request VAR If any array component is not applicable for a given request its value will be returned as the initialized value 0 0 in ARRAY The error flag JRCD I is returned from GETVRMAVGATNODE any time a request key is not recognized the request is not valid or all of the output components requested are zero otherwise JRCD 0 2 1 8 2 MATERIAL POINT INFORMATION AT A NODE Ordering of returned components The components for a request are written as follows Single index components and requests without components are returned in positions 1 2 3 etc Double index components are returned in the order 11 22 33 12 13 23 for symmetric tensors followed by 21 31 32 for unsymmetric tensors deformation gradient Thus the stresses for a plane stress element are returned as ARRAY 1 S11 ARRAY 2 S22 ARRAY 3 0 0 and ARRAY 4 S12 Three values are always returned for principal value requests the minimum value first and the maximum value third regardless of the dimensionality of the analysis The description of the output variable see Abaqus Standard output variable identifiers Section 4 2 1 of the Abaqus Analysis User s Manual determines which components are retrieved with GETVRMAVGATNODE Analysis time for which values are returned GETVRMAVGATNODE returns values at the end of the current increment to user subroutine UMESHMOTION Accessing state dependent varia
444. rned as Component 2 D Case 3 D Case 1 O11 O11 2 022 022 3 033 033 1 2 18 2 VUSDFLD Component 2 D Case 3 D Case 4 012 012 5 923 6 031 The shear strain components in user subroutine VUSDFLD are stored as tensor components and not as engineering components unlike user subroutine USDFLD in Abaqus Standard which uses engineering components User subroutine interface subroutine vusdfld c Read only variables 1 2 3 4 5 nblock nstatev nfieldv nprops ndir nshr jElem kIntPt kLayer kSecPt stepTime totalTime dt cmname coordMp direct T charLength props stateOld c Write only variables c aaaan 6 Uu PWN stateNew field include vaba param inc dimension jElem nblock coordMp nblock direct nblock 3 3 T nblock 3 3 charLength nblock props nprops stateOld nblock nstatev stateNew nblock nstatev field nblock nfieldv character 80 cmname Local arrays from vgetvrm are dimensioned to maximum block size maxblk parameter nrData 6 character 3 cData maxblk nrData dimension rData maxblk nrData jData maxblk nrData do 100 k 1 nblock user coding to define field nblock nfieldv and if necessary stateNew nblock nstatev 1 2 18 3 VUSDFLD 100 continue return end Variable to be defined field nblock nfieldv An array containing the field variables at the material points T
445. rostatic pressure measured to the mean fluid elevation and the dynamic pressure See Airy wave theory Section 6 2 2 of the Abaqus Theory Manual and Stokes wave theory Section 6 2 3 ofthe Abaqus Theory Manual for definitions of the dynamic pressure for Airy and Stokes waves respectivelv DPDYNDZ The gradient of the dynamic pressure in the vertical direction This variable is needed only for buoyancy loads When LSURF 1 SURF The vertical coordinate of the instantaneous fluid surface corresponding to the horizontal position of the load integration point given in XCUR If the current location of the load integration point is above the instantaneous surface elevation no fluid loads will be applied Only in an analysis with stochastic wave kinematics based on an intermediate configuration LUPLOCAL Flag to determine if the intermediate configuration will be updated for this element This flag can be set only when LRECOMPUTE 1 Return LUPLOCAL as 0 default to indicate that the intermediate configuration should not be updated Return LUPLOCAL as 1 if the intermediate configuration should be updated for this element The intermediate configuration is stored on an element by element basis Therefore all integration points for a given element will have their intermediate configuration updated if an update is requested at any one integration point on the element LUPGLOBAL Flag to determine if the intermediate configuration will be
446. rray containing the coordinates of this point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 ofthe Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the point JLTYP Identifies the flux type for which this call to DFLUX is being made The flux type may be a body flux a surface based flux or an element based surface flux For element based surface fluxes this variable identifies the element face for which this call to DFLUX is being made This information is useful when several different nonuniform distributed fluxes are being imposed on an element at the same time See Part VI Elements of the Abaqus Analysis User s Manual for element face identification The key is as follows JLTYP Flux type 0 Surface based flux 1 BFNU 11 SINU SNEGNU for heat transfer shells 12 S2NU SPOSNU for heat transfer shells 13 S3NU 14 S4NU 15 SSNU 16 S6NU TEMP Current value of temperature at this integration point defined only for a mass diffusion analysis Temperature for a heat transfer analysis is passed in as variable SOL PRESS Current value of the equivalent pressure stress at this integration point defined only for a mass diffusion analysis SNAME Surface name for a surface based flux definition JLTYP 0 For a body flux or an element based surface flux the surface name is passed in as bl
447. rray contains the stress at the interface during the previous time increment It must be updated to the stress at the interface in the current time increment 1 2 15 3 VUINTER Variables that can be updated fluxSlv nS1vNod On entry this array contains the flux entering the slave surface during the previous time increment It must be updated to the flux entering the slave surface during the current increment fluxMst nSivNod On entrv this arrav contains the flux entering the master surface during the previous time increment It must be updated to the flux entering the master surface during the current time increment sfd nSlvNod This array can be updated to contain the increment in frictional dissipation at each node units of energy per unit area These values contribute to the output variables SFDR and ALLFD and have no effect on other solution variables scd nSlvNod This array can be updated to contain the increment in creep dissipation at each node units of energy per unit area These values contribute to the output variables SFDR and ALLCD and have no effect on other solution variables spd nSlvNod This array can be updated to contain the increment in plastic dissipation at each node units of energy per unit area These values contribute to the output variables SFDR and ALLPD and have no effect on other solution variables svd nSlvNod This array can be updated to contain the increment in viscous dissipation at ea
448. s DIRECT 1 1 DIRECT 2 1 DIRECT 3 1 give the 1 2 3 components of the first material direction DIRECT 1 2 DIRECT 2 2 DIRECT 3 2 give the second material direction etc For shell and membrane elements the first two directions are in the plane of the element and the third direction is the normal This information is not available for beam and truss elements T 3 3 An array containing the direction cosines ofthe material orientation components relative to the element basis directions This is the orientation that defines the material directions DIRECT in terms of the element basis directions For continuum elements T and DIRECT are identical For shell and membrane elements T 1 1 cos6 T 1 2 sin T 2 1 sind T 2 2 cos8 T 3 3 1 0 and all other components are zero where is the counterclockwise rotation around the normal vector that defines the orientation Ifno orientation is used T is an identity matrix Orientation is not available for beam and truss elements TIME 1 Value of step time at the end of the current increment TIME 2 Value of total time at the end of the current increment DTIME Time increment CMNAME User specified material name left justified ORNAME User specified local orientation name left justified NUVARM User specified number of user defined output variables NOEL Element number NPT Integration point number LAYER Layer number for composite shells and la
449. s it will be assumed that LFLAGS 3 1 unless otherwise stated Static analysis LFLAGS 1 1 2 a FN NM He e Automatic convergence checks are applied to the force residuals corresponding to degrees of freedom 1 7 e You must define AMATRX KNM OFN du and RHS F and update the state variables HE Modified Riks static analysis LFLAGS 1 1 and NRHS 2 e FN FN uM H pP where p pe Agf pe and q are fixed load parameters and X is the Riks scalar load parameter e Automatic convergence checks are applied to the force residuals corresponding to degrees of freedom 1 7 e You must define AMATRX KN OFN duM RHS 1 FY and RHS 2 AX OFN 9A and update the state variables H RHS 2 is the incremental load vector Direct integration dynamic analysis LFLAGS 1 11 12 e Automatic convergence checks are applied to the force residuals corresponding to degrees of freedom 1 7 e LFLAGS 3 1 Normal time increment Either the Hilber Hughes Taylor or the backward Euler time integration scheme will be used With a set to zero for the backward Euler both schemes imply 1 1 27 9 veL FN MM na 1 a G ar a GY where MNM MNM uM aM Hp t and GN GN uM aM H p t that is the highest time derivative of u in MNM and GN is u so that m Ot t At Therefore you must store GN as an internal state vector If half increment residual calculations are required you m
450. s 8 zg asin B 0 where cosf r b and sing zQ z b The tangent to the rigid surface at A ist sin 8 cos 8 0 The positive direction for tl must be chosen so that the normal satisfies the right hand rule with respect to t and t and points out of the rigid body Also dS adj so that on 1 1 pai 7 in q 0088 0 For rtana gt zg z the conical surface the clearance is h rcosa z zg sina a and the position of the point A on the rigid surface is r h cos a z h sin a The surface tangent is ti sin a cosa 0 and there is no change in n with position so that on asi 0 0 0 The routine can then be coded as follows SUBROUTINE RSURFU H P TGT DNDS X TIME U CINAME SLNAME 1 MSNAME NOEL NODE LCLOSE c INCLUDE ABA PARAM INC c CHARACTER 80 CINAME SLNAME MSNAME DIMENSION P 3 TGT 3 2 DNDS 3 2 X 3 2 TIME 2 U 6 2 c c DEFINE THE FOLLOWING QUANTITIES 1 1 16 6 RSURFU A RADIUS A OF THE SPHERICAL HEAD SINA SINE CONE ANGLE ALPHA COSA COSINE CONE ANGLE ALPHA ZO ORIGINAL Z COORDINATE OF POINT Q aaaaaa A 5 0 SINA 0 5 COSA 0 86602 Z0 6 0 ZQ Z0 U 2 2 c TEST FOR SEGMENT IF X 1 1 SINA COSA LT ZQ X 2 1 THEN c SPHERE B SORT X 1 1 2 X 2 1 ZQ 2 H A B COSB X 1 1 B SINB ZQ X 2 1 B P 1 A COSB P 2 ZQ A SINB TGT 1 1 SINB TGT 2 1 COSB DNDS 1 1 SINB A DNDS 2 1 COSB A ELSE c CONE
451. s Standard will adjust the time increment so that max EN lt tolerance where tolerance is specified in the dynamic step definition The half increment residual is defined as Fija M iin arse 1a GN i4412 a GE where t indicates the time at the beginning of the previous increment a is a parameter of the Hilber Hughes Taylor time integration operator and will be set to zero if the backward Euler time integration operator is used You must define RHS FN To evaluate MNM and G44 Arj2 you must calculate H Az 2 These half increment values will not be saved DTIME will still contain At not At 2 The values contained in U V A and DU are half increment values LFLAGS 3 4 Velocity jump calculation Abaqus Standard solves MNM AuM 0 for AuM so you must define AMATRX MNM LFLAGS 3 6 Initial acceleration calculation Abaqus Standard solves MN M M GN 0 for ii M so you must define AMATRX MNM and RHS GN Quasi static analysis LFLAGS 1 21 The requirements are identical to those of static analysis Steady state heat transfer analysis LFLAGS 1 31 The requirements are identical to those of static analysis except that the automatic convergence checks are applied to the heat flux residuals corresponding to degrees of freedom 11 12 Transient heat transfer analysis 0 LFLAGS 1 32 33 Automatic convergence checks are applied to the heat flux residuals corresponding to degrees of fre
452. s User s Manual in a porous medium whenever a user defined initial condition on void ratio is specified and e can be used to define initial void ratio values as functions of material point coordinates and or element numbers User subroutine interface SUBROUTINE VOIDRI EZERO COORDS NOEL c INCLUDE ABA PARAM INC c DIMENSION COORDS 3 c user coding to define EZERO RETURN END Variable to be defined EZERO Initial void ratio 1 1 55 1 VOIDRI Variables passed in for information COORDS An arrav containing the current coordinates of this point NOEL Element number 1 1 55 2 1 2 Abaqus Explicit subroutines VDISP Section 1 2 1 VDLOAD Section 1 2 2 VFABRIC Section 1 2 3 VFRIC Section 1 2 4 VFRIC_COEF Section 1 2 5 VFRICTION Section 1 2 6 VUAMBP Section 1 2 7 VUANISOHYPER_INV Section 1 2 8 VUANISOHYPER STRAIN Section 1 2 9 VUEL Section 1 2 10 VUFIELD Section 1 2 11 VUFLUIDEXCH Section 1 2 12 VUFLUIDEXCHEFFAREA Section 1 2 13 VUHARD Section 1 2 14 VUINTER Section 1 2 15 VUINTERACTION Section 1 2 16 VUMAT Section 1 2 17 VUSDFLD Section 1 2 18 VUTRS Section 1 2 19 VUVISCOSITY Section 1 2 20 VWAVE Section 1 2 21 1 24 Abaqus Explicit SUBROUTINES 1 2 1 VDISP VDISP User subroutine to specify prescribed boundarv conditions Produc
453. s are listed in the output table as being available for results file output at nodes e g U for displacement JGVBLOCK Variable that must be passed into the GETVRN utilitv routine The variable is available in user subroutine UMESHMOTION for this purpose LTRN Variable indicating the coordinate system the nodal quantity is to be returned in A value of 0 specifies that the results are to be returned in the global coordinate svstem regardless of anv transformation applied at the node A value of 1 specifies that the results are to be returned in the local transformed svstem 2 1 9 1 NODE POINT INFORMATION Variables returned from the utilitv routine ARRAY Real array containing individual components of the output variable JRCD Return code 0 no error 1 output request error or all components of output request are zero Available output variable keys Only nodal output variable keys that are valid for results file output in the current step are available for use with GETVRN In general if a key corresponds to a collective output variable rather than an individual component it can be used with GETVRN For example U for displacement can be used whereas any individual component of displacement say Ul cannot be used The collective output variable keys are distinguished from their individual components by the fact that they have a bullet e in the fil column in the tables in Abaqus Standard output variable identifiers
454. s at the contact point KSTEP Step number KINC Increment number KIT Iteration number KIT 0 for the first assemblv KIT 1 for the first recoverv second assembly KIT 2 for the second recoverv third assemblv and so on LINPER Linear perturbation flag LINPER I if the step is a linear perturbation step LINPER 0 if the step is a general step For a linear perturbation step the inputs to user subroutine UINTER represent perturbation quantities about the base state The user defined quantities in UINTER are also perturbation quantities The Jacobian terms should be based on the base state No change in contact status should occur during a linear perturbation step LPRINT This flag is equal to 1 ifa detailed contact printout to the message file is requested and 0 otherwise The Abaqus Standard message file in Output Section 4 1 1 of the Abaqus Analysis User s Manual This flag can be used to print out diagnostic messages regarding changes in contact status selectively only when a detailed contact printout is requested 1 1 38 8 UMASFL 1 1 39 UMASFL User subroutine to specifv prescribed mass flow rate conditions for a convection diffusion heat transfer analvsis Product Abaqus Standard References e Uncoupled heat transfer analysis Section 6 5 2 of the Abaqus Analysis User s Manual e xMASS FLOW RATE e UTEMP UFIELD UMASFL and UPRESS Section 4 1 25 of the Abaqus Verification Manual Overview
455. s at the load integration points at the start of the time increment DirVec nblock ndim This arrav contains the direction vectors at the load integration points at the start of the time increment For points lying on line elements it is the tangent vector in the current configuration For points lying on surface elements or solid faces it is the surface normal vector pointing outward in the current configuration The tvpe of elements with which the points are associated can be found using the integer variable iElemTvpe The magnitude of this vector is the outer diameter for line elements under distributed loads PB FDD WDD FDT FI transitional section area for line elements under transitional distributed loads FD1 FD2 WD1 WD2 FII FI2 and the nodal surface area for points under concentrated loads TSB TFD TWD TSI or points lying on surface elements or solid faces fSteadyVel nblock ndim The incoming array contains the steady fluid velocity AquaSteadyConstants naquaconst The user defined constants for the steady fluid field as specified under the AQUA option at the first data line in the order they are specified WindConstants nwindconst The user defined constants for the wind profile as specified under the WIND option at the first data line in the order they are specified In the absence of a wind profile all values are zeros Props nprops This real array contains properties for the user defined wave as listed on
456. s for application of the kinematic constraint For use with inertia relief loads the local basis directions are used as the rigid body direction vectors for computing the loads 1 1 15 2 ORIENT Variables passed in for information NOEL Element number This value is zero when the subroutine is called for use with coupling constraints or inertia relief loads NPT Integration point number This variable is set only for relevant uses LAYER Layer number for composite shells and layered solids This variable is set only when relevant It is equal to zero when it is irrelevant such as in a regular solid element or in a shell element when transverse shear stiffness calculations are performed KSPT Section point number within the current layer This variable is set only when relevant It is equal to zero when it is irrelevant such as in a regular solid element or in a shell element when transverse shear stiffness calculations are performed COORDS An array containing the initial coordinates of this point This array contains the coordinates of the reference point for inertia relief loads BASIS An array containing the direction cosines of the normal material basis directions in terms of the global coordinates in the original configuration BASIS 1 1 BASIS 2 1 BASIS 3 1 give the l direction etc This is useful only in shells or membranes since in all other cases the basis is the global coordinate system ORNAME User specif
457. s strains strainInc 2 and strainInc 3 strainInc 4 is the shear strain associated with twist Thickness stresses stressNew 2 and stressNew 3 are assumed to be zero and any values you assign are ignored Pipe elements For pipe elements the stretch tensor and the deformation gradient tensor are not available The axial strain strainInc 1 and the shear strain strainInc 4 associated with twist are provided along with the hoop stress stressNew 2 The hoop stress is predefined based on your pipe internal and external pressure load definitions PE PI HPE HPI PENU and PINU and it should not be modified here The thickness stress stressNew 3 is assumed to be zero and any value you assign is ignored You must define the axial stress stressNew 1 and the shear stress stressNew 4 You must also define hoop strain strainInc 2 and the pipe thickness strain strainInc 3 1 2 17 3 VUMAT Deformation gradient The polar decomposition of the deformation gradient is written as F R U V R where U and V are the right and left symmetric stretch tensors respectively The constitutive model is defined in a corotational coordinate system in which the basis system rotates with the material All stress and strain tensor quantities are defined with respect to the corotational basis system The right stretch tensor U is used The relative spin tensor W Q represents the spin the antisymm
458. s subroutine generally requires considerable expertise You are cautioned that the implementation of any realistic thermal model requires significant development and testing Initial testing on models with few elements under a variety of boundary conditions is strongly recommended References User defined thermal material behavior Section 25 7 2 of the Abaqus Analysis User s Manual USER MATERIAL Freezing of a square solid the two dimensional Stefan problem Section 1 6 2 of the Abaqus Benchmarks Manual UMATHT Section 4 1 22 of the Abaqus Verification Manual Overview User subroutine UMATHT can be used to define the thermal constitutive behavior of the material as well as internal heat generation during heat transfer processes will be called at all material calculation points of elements for which the material definition includes a user defined thermal material behavior can be used with the procedures discussed in Heat transfer analysis procedures overview Section 6 5 1 ofthe Abaqus Analysis User s Manual can use solution dependent state variables must define the internal energy per unit mass and its variation with respect to temperature and to spatial gradients of temperature must define the heat flux vector and its variation with respect to temperature and to gradients of temperature must update the solution dependent state variables to their values at the end of the increment can be u
459. s the maximum of the user defined maximum number of coordinates needed at any node point Defining the maximum number of coordinates needed at any nodal point in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual and the value of the largest active degree of freedom of the user element that is less than or equal to 3 For example if you specify that the maximum number of coordinates is 1 and the active degrees of freedom of the user element are 2 3 and 6 MCRD will be 3 If you specify that the maximum number of coordinates is 2 and the active degrees of freedom of the user element are 11 and 12 MCRD will be 2 NNODE User defined number of nodes on the element Defining the number of nodes associated with the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual JTYPE Integer defining the element type This is the user defined integer value n in element type Un Assigning an element type key to a user defined element in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual KSTEP Current step number KINC Current increment number JELEM User assigned element number NDLOAD Identification number of the distributed load or flux currently active on this element MDLOAD Total number of distributed loads and or fluxes defined on this element 1 1 28 8 UELMAT NPREDF Number of predefined field variables inclu
460. s to the components of the local directions and the second array index corresponds to the local direction number The first direction alocaldir 1 nDir 1 is the normal to the surface The second direction alocaldir 1 mDir 2 is the first surface tangent For a three dimensional surface the third direction alocaldir 1 3 3 is the second surface tangent If the master surface is an analvtical rigid surface the numbers in alocaldir are valid only if the corresponding parts in rdisp are valid i e not equal tor MaxvVal props nProps User specified vector of propertv values to define the behavior between the contacting surfaces areaSlv nSivNod Area associated with the slave nodes equal to 1 for node based surface nodes 1 2 15 7 VUINTER tempSlv nSlvNod Current temperature at the slave nodes dtempS1v nSlvNod Increment in temperature during the previous time increment at the slave nodes preDefSlv nPred nSlvNod Current user specified predefined field variables at the slave nodes initial values at the beginning of the analysis and current values during the analysis dpreDefSlv nPred nSlvNod Increment in the predefined field variables at the slave nodes during the previous time increment tempMst numDefTfv Current temperature at the nearest points on the master surface dtempMst numDefTfv Increment in temperature during the previous time increment at the nearest points on the master surface
461. sed DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to UMESHMOTION The suggested new time increment provided to the automatic time integration algorithms is PNEWDT x DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this increment If automatic time incrementation is not selected in the analysis procedure values of PNEWDT greater than 1 0 will be ignored and values of PNEWDT less than 1 0 will cause the job to terminate LSMOOTH Flag specifying that surface smoothing be applied after application of the mesh motion constraint Set LSMOOTH to to enable surface smoothing When this flag is set the constraint defined in ULOCAL will be modified by the smoothing algorithm In cases where ULOCAL describes mesh motion normal to a surface the smoothing will have a minor impact on this normal component of mesh motion Variables passed in for information UREF The value of the user specified displacement or velocity provided as part of the adaptive mesh constraint definition This value is updated based on any amplitude definitions used with the adaptive mesh constraint or default ramp amplitude variations associated with the current step 1 1 42 2 NODE UMESHMOTION Node number NNDOF Number o
462. sed in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in and is described further in User defined thermal material behavior Section 25 7 2 of the Abaqus Analysis User s Manual 1 1 41 1 UMATHT Use of subroutine UMATHT with coupled temperature displacement and coupled thermal electrical structural elements User subroutine UMATHT should be used only with reduced integration or modified coupled temperature displacement and coupled thermal electrical structural elements if the mechanical and thermal fields are not coupled through plastic dissipation No such restriction exists with fully integrated coupled temperature displacement and coupled thermal electrical structural elements User subroutine interface SUBROUTINE UMATHT U DUDT DUDG FLUX DFDT DFDG 1 STATEV TEMP DTEMP DTEMDX TIME DTIME PREDEF DPRED 2 CMNAME NTGRD NSTATV PROPS NPROPS COORDS PNEWDT 3 NOEL NPT LAYER KSPT KSTEP KINC INCLUDE ABA PARAM INC CHARACTER 80 CMNAME DIMENSION DUDG NTGRD FLUX NTGRD DFDT NTGRD 1 DFDG NTGRD NTGRD STATEV NSTATV DTEMDX NTGRD 2 TIME 2 PREDEF 1 DPRED 1 PROPS NPROPS COORDS 3 user coding to define U DUDT DUDG FLUX DFDT DFDG and possiblv update STATEV PNEWDT RETURN END Variables to be defined U Internal thermal energv per unit mass U at the end of increment This variable is passed in as the value at the start of the incremen
463. ser defined element tvpe each time element calculations are required and e or subroutines called by user subroutine VUEL must perform all of the calculations for the element appropriate to the current activitv in the analvsis User subroutine interface SUBROUTINE VUEL nblock rhs amass dtimeStable svars nsvars energy nnode ndofel props nprops jprops njprops coords mcrd u du v a jtype jElem time period dtimeCur dtimePrev kstep kinc lflags dMassScaleFactor predef npredef jdltyp adlmag vonsaumrwm HH include vaba param inc c operational code kevs 1 2 10 1 VUEL parameter jMassCalc ewl jIntForceAndDtStable 2 jExternForce 3 c flag indices parameter iProcedure 1 iNlgeom 2 iOpCode 3 nFlags 3 c energv arrav indices parameter iElPd 1 iElCd 2 iElIe 3 iElTs 4 iElDd 5 iElBv 6 iElDe 7 iElHe 8 iElKe 9 iElTh 10 iElDmd 11 iElDc 12 nElEnergy 12 c predefined variables indices parameter iPredValueNew 1 iPredValueold 2 nPred 2 c time indices parameter iStepTime 1 iTotalTime 2 nTime 2 dimension rhs nblock ndofel amass nblock ndofel ndofel dtimeStable nblock svars nblock nsvars energy nblock nElEnergv props nprops jprops njprops jElem nblock time nTime lflags nFlags coords nblock nnode mcrd u nblock ndofel du nblock ndofel Au RWN HE 1 2 10 2
464. ser subroutine UEL for the eigenvalue buckling prediction procedure For response spectrum random response transient modal dynamic and mode based steady state dynamic procedures user subroutine UEL is called only in a prior natural frequency extraction analysis and the mass and stiffness contributions are taken into account during modal superposition For direct solution and mode based steady state dynamic complex eigenvalue extraction matrix generation and substructure generation procedures Abaqus Standard will call user subroutine UEL but only mass and stiffness contributions will be taken into account The damping contributions will be neglected Static analysis LFLAGS 1 1 2 e Abaqus Standard will solve KNM aM PN fori where KNM is the base state stiffness matrix and the perturbation load vector PN is a linear function of the perturbation loads p that is PN OF Op p e LFLAGS 3 1 You must define AMATRX KNM and RHS PN e LFLAGS 3 100 You must compute perturbations of the internal variables H and define RHS PN KNM a for output purposes Eigenfrequency extraction analysis LFLAGS 1 41 e FN MNM GN uM MN a OGN Ou aM e Abaqus Standard will solve KNM M w MNM GM for ON and wi where KNM OFN du is the base state stiffness matrix and MN OFN M is the base state mass matrix e LFLAGS 3 2 Define AMATRX KNM e LFLAGS 3 4 D
465. ser subroutine UELMAT The routine returns heat fluxes internal energy time derivative volumetric heat generation rate and their derivatives at the element material point Interface dimension predef npredef dpredef npredef dtemdx rhodUdg flux dfdt dfdg ndim drpldt coords 3 call material lib ht materiallib rhoUdot rhodUdt rhodUdg flux dfdt dfdg rpl drpldt npt dvmat predef dpredef npredf temp dtemp dtemdx celent coords Variables to be provided to the utility routine materiallib Variable containing information about the Abaqus material This variable is passed into user subroutine UELMAT npt Integration point number dvmat Volume at the integration point predef Array of interpolated values of predefined field variables at the integration point at the start of the increment 2 1 18 1 ACCESSING Abaqus THERMAL MATERIALS dpredef Arrav of increments of predefined field variables npredf Number of predefined field variables including temperature temp Temperature at the integration point at the start of the increment 9 dtemp Increment of temperature dtemdx Spatial gradients of temperature 90 0x at the end of the increment celent Characteristic element length coords The arrav containing the original coordinates of this point Variables returned from the utility routine rhoUdot Time derivative of the internal thermal energy per unit mass U
466. ses the required degrees of freedom but does not affect the solution in any other way Alternatively if the degrees of freedom are rotations they can be activated by the use of a library BEAM type MPC somewhere in the model Use with nodal coordinate systems When a local coordinate system Transformed coordinate systems Section 2 1 5 of the Abaqus Analysis User s Manual and a user MPC are both used at a node the variables at the node are first transformed before the MPC is imposed Therefore user supplied MPCs must be based on the transformed degrees of freedom The local to global transformation matrices T for the individual nodes I pl I Uglobal T Uocal are passed in for information Degree of freedom version of user subroutine MPC This version of user subroutine MPC allows for one individual degree of freedom to be constrained and thus eliminated at a time The constraint can be quite general and nonlinear of the form f ul u u u geometry temperature field variables 0 The first degree of freedom in this function u1 is the degree of freedom that will be eliminated to impose the constraint u u etc are any other degrees of freedom that are involved in the constraint Since u will be eliminated to impose the constraint it cannot be used in subsequent kinematic constraints multi point constraints linear equation constraints or boundary conditions Therefore the user MPCs are imposed in the
467. sfer analysis see User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual User subroutine interface SUBROUTINE UELMAT 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 4 MATERIALLIB 1 1 28 1 UELMAT INCLUDE ABA PARAM INC DIMENSION RHS MLVARX AMATRX NDOFEL NDOFEL PROPS 1 SVARS ENERGY 8 COORDS MCRD NNODE U NDOFEL 2 DU MLVARX V NDOFEL A NDOFEL TIME 2 PARAMS 3 JDLTYP MDLOAD ADLMAG MDLOAD DDLMAG MDLOAD 4 PREDEF 2 NPREDF NNODE LFLAGS JPROPS user coding to define RHS AMATRX SVARS ENERGY and PNEWDT RETURN END Variables to be defined RHS These arrays depend on the value of the LFLAGS array An array containing the contributions of this element to the right hand side vectors of the overall system of equations For most nonlinear analysis procedures NRHS 1 and RHS should contain the residual vector The exception is the modified Riks static procedure Static stress analysis Section 6 2 2 of the Abaqus Analysis User s Manual for which NRHS 2 and the first column in RHS should contain the residual vector and the second column should contain the increments of external load on the element RHS K1 K2 is the
468. sics solutions for insight into challenging engineering problems and lifecycle management solutions for managing simulation data processes and intellectual property By building on established technology respected quality and superior customer service SIMULIA makes realistic simulation an integral business practice that improves product performance reduces physical prototypes and drives innovation Headquartered in Providence RI USA with R amp D centers in Providence and in Velizy France SIMULIA provides sales services and support through a global network of regional offices and distributors For more information visit www simulia com About Dassault Systemes As a world leader in 3D and Product Lifecycle Management PLM solutions Dassault Syst mes brings value to more than 100 000 customers in 80 countries A pioneer in the 3D software market since 1981 Dassault Systemes develops and markets PLM application software and services that support industrial processes and provide a 3D vision of the entire lifecycle of products from conception to maintenance to recycling The Dassault Systemes portfolio consists of CATIA for designing the virtual product SolidWorks for 3D mechanical design DELMIA for virtual production SIMULIA for virtual testing ENOVIA for global collaborative lifecycle management and 3DVIA for online 3D lifelike experiences Dassault Syst mes shares are listed on Euronext Paris 13065 DSU PA and Dassault
469. ssed into the routine as the magnitude of the flux specified as part of the element based or surface based flux definition If the magnitude is not defined FLUX 1 will be passed in as zero This flux is not available for output purposes FLUX 2 In heat transfer cases dq d6 the rate of change of the flux with respect to the temperature at this point The units are JT L 9 for surface fluxes and JT L 97 for body flux In mass diffusion cases dq dc the rate of change of the flux with respect to the mass concentration at this point The units are LT for surface fluxes and T for body flux The convergence rate during the solution of the nonlinear equations in an increment is improved by defining this value especially when the flux is a strong function of temperature in heat transfer analysis or concentration in mass diffusion analysis Variables passed in for information SOL Estimated value of the solution variable temperature in a heat transfer analysis or concentration in a mass diffusion analysis at this time at this point KSTEP Step number KINC Increment number TIME 1 Current value of step time defined only in transient analysis TIME 2 Current value of total time defined only in transient analysis NOEL Element number 1 1 3 2 DFLUX NPT Integration point number in the element or on the element s surface The integration scheme depends on whether this is a surface or a body flux COORDS An a
470. statev nfieldv nprops lanneal stepTime totalTime dt cmname coordMp charLength props density strainInc relSpininc tempOld stretchOld defgradOld fieldold stressOld stateOld enerInternOld enerInelasOld tempNew stretchNew defgradNew fieldNew e only stressNew stateNew enerInternNew enerInelasNew C Wri uct nwW FW ND Q include vaba param inc J2 Mises Plasticitv with kinematic hardening for plane strain case Elastic predictor radial corrector algorithm The state variables are stored as STATE 1 back stress component 11 STATE 2 back stress component 22 STATE 3 back stress component 33 STATE 4 back stress component 12 STATE 5 equivalent plastic strain AQAAAAAAAANAN 1 2 17 11 VUMAT c c C All arravs dimensioned bv dimension props nprops are not used in this algorithm density nblock 1 coordMp nblock 2 charLength straininc nblock ndir nshr 3 relSpinInc tempOld 4 stretchOld defgradOld 5 fieldoOld stressOld nblock ndir nshr 6 stateOld nblock nstatev enerInternOld nblock 7 enerInelasOld nblock tempNew 8 stretchNew defgradNew fieldNew 9 stressNew nblock ndir nshr stateNew nblock nstatev 1 enerInternNew nblock enerInelasNew nblock Cc character 80 cmname Cc parameter zero 0 one 1 two 2 three 3 1 third one three half 5 twoThirds two three 2 threeHalfs 1 5 Cc
471. stress components at this point COORD Coordinates at this material point JMAC Variable that must be passed into the GETVRM utility routine to access an output variable 1 1 49 5 USDFLD JMATYP Variable that must be passed into the GETVRM utility routine to access an output variable MATLAYO Variable that must be passed into the GETVRM utility routine to access an output variable LACCFLA Variable that must be passed into the GETVRM utility routine to access an output variable Example Damaged elasticity model Included below is an example of user subroutine USDFLD In this example a truss element is loaded in tension A damaged elasticity model is introduced the modulus decreases as a function of the maximum tensile strain that occurred during the loading history The maximum tensile strain is stored as a solution dependent state variable see Defining solution dependent field variables in Predefined fields Section 32 6 1 ofthe Abaqus Analysis User s Manual Input file xHEADING DAMAGED ELASTICITV MODEL WITH USER SUBROUTINE USDFLD xELEMENT TYPE T2D2 ELSET ONE 1 1 2 NODE 1 0 0 2 10 0 xSOLID SECTION ELSET ONE MATERIAL ELASTIC L xMATERIAL NAME ELASTIC xELASTIC DEPENDENCIES 1 Table of modulus values decreasing as a function of field variable 1 2000 0 3 0 0 00 1500 0 3 0 0 01 1200 0 3 0 0 02 1000 0 3 0 0 04 USER DEFINED FIELD DEPVAR 1 BOU
472. sverse shear strains scaled by f33 The remaining components fsg are all zero The tensor is provided in the local shell coordinate system CURV 2 2 An array containing the midsurface curvature tensor bag The curvature tensor is available for finite strain shells S3 S3R S4 SAR SAXs and SAXAs it is not available for small strain shells The curvature tensor is stored as a 2 x 2 matrix with component equivalence CURV I J bag The tensor is provided in the local shell coordinate system BASIS 3 3 NOEL NPT An array containing the direction cosines of the shell local surface coordinate system BASIS 1 1 BASIS 2 1 and BASIS 3 1 give the 1 2 3 components of the first local direction etc The first two directions are in the plane of the element surface and the third direction is the normal The conventions for local directions on shell surfaces are defined in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual You can redefine the local system see Orientations Section 2 2 5 of the Abaqus Analysis User s Manual Element number Integration point number KSTEP KINC NIT Step number Increment number Iteration number NIT 0 during the first assembly of the system matrix in any increment 1 1 34 6 UGENS LINPER Linear perturbation flag LINPER I if the step is a linear perturbation step LINPER 0 if the step is a general step 1 1 34 7 UHARD 1 1 35 UHAR
473. t Abaqus Explicit References e Boundary conditions in Abaqus Standard and Abaqus Explicit Section 32 3 1 of the Abaqus Analysis User s Manual e BOUNDARY e VDISP Section 4 1 28 of the Abaqus Verification Manual Overview User subroutine VDISP e can be used to prescribe translational and rotational boundarv conditions e is called for all degrees of freedom listed in a user subroutine defined boundary condition e defines the magnitudes of the specified type of the associated boundary condition and e can be called for blocks of nodes for which the boundary conditions are defined in the subroutine Initialization At the beginning of a step user subroutine VDISP is called twice to establish all required initial conditions The first call to user subroutine VDISP is made to establish the startup mean velocity which is indicated by the passing of a step time value of dt into the subroutine where dt is the current time increment If displacement is prescribed the returned variable rval corresponds to the displacement at dt In this case rval should be set equal to u vodt 300dt2 where uo U and a are the initial displacement velocitv and acceleration respectivelv If velocitv is prescribed the returned variable corresponds to the mean velocity at dt 2 In this case rval should be set equal to vo aodt If acceleration is prescribed the returned variable corresponds to the acceleration at dt I
474. t additional plastic slipping The stick force at each contact point is provided as a scalar value as it would act in the direction opposite to t1 The stick force is computed prior to calling user subroutine VFRIC by either the kinematic or the penalty contact algorithm See Contact constraint enforcement methods in Abaqus Explicit Section 36 2 3 ofthe Abaqus Analysis User s Manual for descriptions of the kinematic and penalty contact algorithms and the user interface for choosing between them The first component of the frictional force should be in the range between 1 2 4 2 VFRIC surface normal slave node slip directions master surface incremental frictional slip Figure 1 2 4 2 Local coordinate system for three dimensional contact with VFRIC zero and minus the stick force value Typically the stick force will be positive and the first component ofthe applied frictional force will be negative opposing the incremental slip Penalty contact includes an elastic slip regime due to finite penalty stiffness so occasionally during recovery of elastic slip the stick force will be negative indicating that it is appropriate for the first component of the frictional force to be positive i e acting in the same direction as the incremental slip A noisy or unstable solution is likely to result if the first component of fTangential is set outside of the range between zero and negative the value of the stick force
475. t and must be updated to its value at the end of the increment DUDT Variation of internal thermal energy per unit mass with respect to temperature OU 30 evaluated at the end of the increment 1 1 41 2 UMATHT DUDG NTGRD Variation of internal thermal energv per unit mass with respect to the spatial gradients of temperature 0U 0 00 0x at the end of the increment The size of this array depends on the value of NTGRD as defined below This term is typically zero in classical heat transfer analysis FLUX NTGRD Heat flux vector f at the end of the increment This variable is passed in with the values at the beginning of the increment and must be updated to the values at the end of the increment DFDT NTGRD Variation of the heat flux vector with respect to temperature Of O6 evaluated at the end of the increment DFDG NTGRD NTGRD Variation of the heat flux vector with respect to the spatial gradients of temperature Of 0 00 Ox at the end of the increment The size of this array depends on the value of NTGRD as defined below Variables that can be updated STATEV NSTATV An array containing the solution dependent state variables In an uncoupled heat transfer analysis STATEV is passed into UMATHT with the values of these variables at the beginning of the increment However any changes in STATEV made in user subroutine USDFLD will be included in the values passed into UMATHT since USDFLD is called before UMATHT I
476. t entry in JELEMLIST The number of entries in this array corresponds to the returned value of NELEMS JELEMTYPE entries 1 indicates a solid element 2 indicates a contact element NELEMS Actual length of the JELEMLIST and JELEMTYPE arravs JRCD Return code 0 indicates no error 1 indicates an output request error An output request error indicates either that the requested variable is not available or that your NELEMS parameter setting is smaller than the element connectivity list at this node 2 1 10 2 INVARIANTS AND PRINCIPAL VALUES 2 1 11 OBTAINING STRESS INVARIANTS PRINCIPAL STRESS STRAIN VALUES AND DIRECTIONS AND ROTATING TENSORS IN AN Abaqus Standard ANALVSIS Product Abaqus Standard References e UMAT Section 1 1 40 e Calculation of principal stresses and strains and their directions FPRIN Section 14 1 3 of the Abaqus Example Problems Manual Overview For Abaqus Standard user subroutines that store stress and strain components according to the convention presented in Conventions Section 1 2 2 of the Abaqus Analysis User s Manual a number of utility routines are available for calculating stress invariants principal stress strain values and principal stress strain directions from the relevant tensors There is also a utility routine available for transforming tensors to a new basis These routines are most commonly called from user subroutine UMAT The following utility subroutines are avai
477. t ordering of the symmetric and nonsymmetric tensors for the three dimensional case using C3D8R elements is different from the ordering specified in Three dimensional solid element library Section 27 1 4 ofthe Abaqus Analysis User s Manual and the ordering used in Abaqus Standard References e User defined mechanical material behavior Section 25 7 1 ofthe Abaqus Analysis User s Manual e USER MATERIAL Overview User subroutine VUMAT e is used to define the mechanical constitutive behavior of a material e will be called for blocks of material calculation points for which the material is defined in a user subroutine Material data definition Section 20 1 2 of the Abaqus Analysis User s Manual e can use and update solution dependent state variables e can use any field variables that are passed in and e can be used in an adiabatic analysis provided you define both the inelastic heat fraction and the specific heat for the appropriate material definitions and you store the temperatures and integrate them as user defined state variables Component ordering in tensors The component ordering depends upon whether the tensor is symmetric or nonsymmetric Symmetric tensors For symmetric tensors such as the stress and strain tensors there are ndir nshr components and the component order is given as a natural permutation of the indices of the tensor The direct components are first and then the indirect c
478. table for sensors The calling user subroutine provides this variable 2 1 16 1 OBTAINING SENSOR INFORMATION sensorValues Arrav containing the latest sensor values for all sensors in the model Variables returned from the utilitv routine iMvSensorID Index in the sensorValues array for this sensor name dMySensorValue Sensor value for this sensor name 2 1 16 2 ACCESSING Abaqus MATERIALS 2 1 17 ACCESSING Abaqus MATERIALS Product Abaqus Standard References e UELMAT Section 1 1 28 e UELMAT Section 4 1 15 of the Abaqus Verification Manual Overview Utility routine MATERIAL LIB MECH can be called only from Abaqus Standard user subroutine UELMAT The routine returns the stress and the material Jacobian at the element material point Interface dimension stress ddsdde ntens stran dstran defGrad 3 3 predef npredf dpredef npredf coords 3 call material lib mech materiallib stress ddsdde stran dstran npt dvdv0 dvmat dfgrd predef dpredef npredf celent coords Variables to be provided to the utility routine materiallib Variable containing information about the Abaqus material This variable is passed into user subroutine UELMAT stran Strain at the beginning of the increment dstran Strain increment npt Integration point number dvdv0 Ratio of the current volume to the reference volume at the integration point 2 1 17 1 ACCESSING Abaqus MATERI
479. tatic or dvnamic procedures other than the quasi static procedure since that procedure uses automatic time stepping based on the techniques used by Abaqus Standard to integrate standard creep laws Storage of membrane and bending components In the force and strain arrays and in the matrix DDNDDE direct membrane terms are stored first followed by the shear membrane term and then the direct and shear bending terms Only active components are stored so the number of entries depends on the element type see Table 1 1 34 1 Table 1 1 34 1 Active section force moment components Element type Force and moment components Three dimensional shells SAR SSR S8R5 Ni Noa Nip Mi Ma Miz etc and axisymmetric shells with asymmetric deformation SAXAIN SAXA2N Axisymmetric shells SAX1 SAX2 etc Nit N22 Mi1 Mas There are NDI direct membrane and NSHR shear membrane components and NDI direct bending and NSHR shear bending components a total of NSECV components The order of the components is defined in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manual Engineering measures of shear membrane strain 712 and twist Kj2 are used 1 1 34 1 UGENS Increments for which oniv the section stiffness can be defined Abaqus Standard passes zero strain increments into user subroutine UGENS to start the first increment of all the steps and all increm
480. ted to the corresponding specific energy values at the end of the increment They have no effect on the solution except that they are used for energy output n a fully coupled thermal stress or a coupled thermal electrical structural analysis Volumetric heat generation per unit time at the end of the increment caused by mechanical working of the material DDSDDT NTENS Variation of the stress increments with respect to the temperature DRPLDE NTENS Variation of RPL with respect to the strain increments DRPLDT Variation of RPL with respect to the temperature 1 1 40 6 UMAT Oniv in a geostatic stress procedure or a coupled pore fluid diffusion stress analvsis for pore pressure cohesive elements RPL RPL is used to indicate whether or not a cohesive element is open to the tangential flow of pore fluid Set RPL equal to 0 if there is no tangential flow otherwise assign a nonzero value to RPL if an element is open Once opened a cohesive element will remain open to the fluid flow Variable that can be updated PNEWDT Ratio of suggested new time increment to the time increment being used DTIME see discussion later in this section This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen For a quasi static procedure the automatic time stepping that Abaqus Standard uses which is based on techniques for integrating stand
481. ted to the stress at the interface in the current time increment Variables that can be updated fluxSlv nBlock On entry this array contains the flux entering the slave surface during the previous time increment It must be updated to the flux entering the slave surface during the current increment fluxMst nBlock On entry this array contains the flux entering the master surface during the previous time increment It must be updated to the flux entering the master surface during the current time increment state nStates nNodState nBlock This array contains the user defined solution dependent state variables for the proximity points The use of the state variables is applicable only for node to face contact See User defined interfacial constitutive behavior Section 35 1 6 ofthe Abaqus Analysis User s Manual for more information on the size of this array This array will be passed in containing the values of these variables prior to the call to user subroutine VUINTERACTION If any of the solution dependent state variables is being used in conjunction with the interaction it must be updated in this subroutine These state variables need to be updated with care outside the user subroutine these state variables are single valued per slave node but multiple proximity points may refer to the same slave node Each proximity point may be passed into the user subroutine independently in a given increment possibly on separate calls to the
482. tem would remain fixed with respect to the global system if a slave node and its surrounding facets rotate about an axes parallel to the slave normal The 2 x 2 array stored in drot for each slave node represents the incremental rotation of the tangent directions within the tangent plane corresponding to the tracked point of a three dimensional master surface This incremental rotation array is equal to a unit matrix if nDir is equal to 2 This incremental rotation matrix is provided so that vector or tensor valued state variables defined within the tangent plane can be rotated in this subroutine For example the second and third components of the rdi sp array i e the relative slip components are rotated by this amount before VUINTER is called However as already mentioned the rotation of the tangent directions may not reflect a physical rotation of the master or slave surface Conventions for heat flux and stress A positive flux indicates heat flowing into a surface and a negative flux denotes heat leaving the surface Flux must be specified for both surfaces and they need not be equal and opposite so that effects such as frictional dissipation and differential surface heating can be modeled A positive normal stress denotes a pressure directed into the surface opposite the local normal direction Positive shear stresses denote shear tractions in the direction of the local surface tangents User subroutine interface subroutine vuin
483. tep it is the value in the base state DU K1 KRHS Incremental values of the variables for the current increment for right hand side KRHS If this is an eigenvalue extraction step this is the eigenvector magnitude for eigenvector KRHS For steady state dynamics KRHS 1 denotes real components of perturbation displacement and KRHS 2 denotes imaginary components of perturbation displacement 1 1 28 4 UELMAT V K1 Time rate of change of the variables velocities rates of rotation Defined for implicit dynamics only LFLAGS 1 11 or 12 A K1 Accelerations of the variables Defined for implicit dynamics only LFLAGS 1 11 or 12 JDLTYP An array containing the integers used to define distributed load types for the element Loads of type Un are identified by the integer value n in JDLTYP loads of type UnNU are identified by the negative integer value n in JDLTYP JDLTYP K1 K2 is the identifier of the K1th distributed load in the K2th load case For general nonlinear steps K2 is always 1 ADLMAG For general nonlinear steps ADLMAG K1 1 is the total load magnitude of the K1th distributed load at the end of the current increment for distributed loads of type Un For distributed loads of type UnNU the load magnitude is defined in UELMAT therefore the corresponding entries in ADLMAG are zero For linear perturbation steps ADLMAG K1 1 contains the total load magnitude of the K1th distributed load of type Un applied in t
484. ter C Write only 1 sfd scd spd svd C Read Write 2 stress fluxSlv fluxMst sed statev C Read only 3 kStep kInc nFacNod nSlvNod nMstNod nSurfDir 4 nDir nStateVar nProps nTemp nPred numDefTfv 1 2 15 2 VUINTER jSlvUid jMstUid jConMstid timStep timGlb dTimCur surfInt surfSlv surfMst rdisp drdisp drot stiffDflt condDfit shape coordSlv coordMst alocaldir props areaSlv tempSlv dtempSlv preDefSlv dpreDefSlv tempMst dtempMst preDefMst dpreDefMst HFoNo u include vaba_param inc character 80 surfInt surfSlv surfMst dimension props nProps statev nStateVar nSlvNod drot 2 2 nSlvNod sed nSlvNod sfd nSlvNod scd nSlvNod spd nSlvNod svd nSlvNod rdisp nDir nSlvNod drdisp nDir nSlvNod stress nDir nSlvNod fluxSlv nSlvNod fluxMst nSlvNod areaSlv nSlvNod stiffDflt nSlvNod condDf1t nSlvNod alocaldir nDir nDir nSlvNod shape nFacNod nSlvNod coordSlv nDir nSlvNod coordMst nDir nMstNod jSlvUid nSlvNod jMstUid nMstNod jConMstid nFacNod nSlvNod tempSlv nSlvNod dtempSlv nSlvNod preDefSlv nPred nSlvNod dpreDefSlv nPred nSlvNod tempMst numDefTfv dtempMst numDefTfv preDefMst nPred numDefTfv dpreDefMst nPred numDefTfv UPWNHRF WO WTA UU PWD BE user coding to define stress and optionally luxSlv fluxMst statev sed sfd scd spd and svd return end Variable to be defined stress nDir nSlvNod On entry this a
485. teraction between the contacting surfaces and e can use and update solution dependent state variables User subroutine interface SUBROUTINE FRIC LM TAU DDTDDG DDTDDP DSLIP SED SFD 1 DDTDDT PNEWDT STATEV DGAM TAULM PRESS DPRESS DDPDDH SLIP 2 KSTEP KINC TIME DTIME NOEL CINAME SLNAME MSNAME NPT NODE 3 NPATCH COORDS RCOORD DROT TEMP PREDEF NFDIR MCRD NPRED 4 NSTATV CHRLNGTH PROPS NPROPS c INCLUDE ABA PARAM INC c CHARACTER 80 CINAME SLNAME MSNAME c DIMENSION TAU NFDIR DDTDDG NFDIR NFDIR DDTDDP NFDIR 1 DSLIP NFDIR DDTDDT NFDIR 2 STATEV DGAM NFDIR 2 TAULM NFDIR SLIP NFDIR TIME 2 COORDS MCRD 1 1 8 1 FRIC 3 RCOORD MCRD DROT 2 2 TEMP 2 PREDEF 2 PROPS NPROPS user coding to define LM TAU DDTDDG DDTDDP and optionally DSLIP SED SFD DDTDDT PNEWDT STATEV RETURN END Variables to be defined In all cases LM Relative motion flag User subroutine FRIC is called only if the contact point is determined to be closed that is if the contact pressure is positive the contact point was closed in the previous iteration or if the contact point is overclosed the contact point was open in the previous iteration During iterations LMis passed into the subroutine as the value defined during the previous iteration At the start of an increment or if the contact point opened during the previous iteration this variable will be passed into the r
486. terminate an analvsis XIT or XPLB EXIT should be used instead of STOP to ensure that all files associated with the analvsis are closed properly Interface CALL XIT or CALL XPLB EXIT 2 1 15 1 OBTAINING SENSOR INFORMATION 2 1 16 OBTAINING SENSOR INFORMATION Products Abaqus Standard Abaqus Explicit References e UAMP Section 1 1 19 e VUAMP Section 1 2 7 e Crank mechanism Section 4 1 2 of the Abaqus Example Problems Manual Overview Utility routines IGETSENSORID and GETSENSORVALUE can be called only from Abaqus Standard user subroutine UAMP Utility routines IVGETSENSORID and VGETSENSORVALUE can be called only from Abaqus Explicit user subroutine VUAMP Given the user defined name for a sensor these utility routines can be used to obtain the sensor ID or the sensor value using a computationally efficient searching technique Interface character 80 mySensorName iMySensorID IGETSENSORID mySensorName jSensorLookUpTable iMySensorID IVGETSENSORID mySensorName jSensorLookUpTable dMySensorValue sensorValues iMySensorID dMySensorValue GETSENSORVALUE mySensorName c jSensorLookUpTable sensorValues dMySensorValue VGETSENSORVALUE mySensorName c jSensorLookUpTable sensorValues Variables to be provided to the utility routine mySensorName User defined character string uppercase left justified jSensorLookUpTable Pointer to an object containing a binary tree look up
487. th respect to the 1 1 20 2 UANISOHVPER INV scalar invariants 0U OI are stored using the enumeration scheme discussed above for the scalar invariants The elements of the array UI2 of second derivatives of the strain energy function 92U 01701 ja are laid out in memorv using triangular storage if k denotes the component in this arrav corresponding to the term 0 U OI70I then k i j x j 1 2 i lt j For example the term 92U 913015 is stored in component k 2 5 x 4 2 12 in the UI2 array Special considerations for various element types There are several special considerations that need to be noted Shells that calculate transverse shear energy When UANISOHXPER INV is used to define the material response of shell elements that calculate transverse shear energy Abaqus Standard cannot calculate a default value for the transverse shear stiffness of the element Hence you must define the element s transverse shear stiffness See Shell section behavior Section 28 6 4 of the Abaqus Analysis User s Manual for guidelines on choosing this stiffness Elements with hourglassing modes When UANISOHYPER_INV is used to define the material response of elements with hourglassing modes you must define the hourglass stiffness for hourglass control based on the total stiffness approach The hourglass stiffness is not required for enhanced hourglass control but you can define a scaling factor for the stiffness assoc
488. the FORTRAN environment open files close files calculate user defined model independent historv information write historv information to external files recover historv information during restart analvses etc do not include calls to utilitv routine XIT RETURN END 1 1 30 UEXTERNALDB Variable to be defined None Variables passed in for information LOP LOP 0 indicates that the subroutine is being called at the start of the analysis LOP I indicates that the subroutine is being called at the start of the current analysis increment The subroutine can be called multiple times at the beginning of an analysis increment if the increment fails to converge and a smaller time increment is required LOP 2 indicates that the subroutine is being called at the end of the current analysis increment When LOP 2 all information that you need to restart the analysis should be written to external files LOP 3 indicates that the subroutine is being called at the end of the analysis LOP 4 indicates that the subroutine is being called at the beginning of a restart analysis When LOP 4 all necessary external files should be opened and properly positioned and all information required for the restart should be read from the external files LRESTART LRESTART 0 indicates that an analysis restart file is not being written for this increment LRESTART I indicates that an analysis restart file is being written for this increment LRESTART 2 i
489. the corresponding energy values at the end of the increment These values have no effect on the solution they are used for the energy output 1 1 34 3 UGENS Variable that can be updated PNEWDT Ratio of suggested new time increment to the time increment being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen PNEWDT is set to a large value before each call to UGENS If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration 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 Standard may increase the time increment The suggested new time increment provided to the automatic time integration algorithms is PNEWDT X DTIME where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration If automatic time incrementation is not selected in 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 ca
490. the gasket The user subroutine must define the increments of inelastic creep strain Ae as functions of c and any other variables used in the definitions of g such as solution dependent state variables introduced by you and of the time increment At If any solution dependent state variables are included in the definitions of g 7 they must also be integrated forward in time in this routine Abaqus will automatically multiply this creep strain by the proper thickness see Defining the gasket behavior directly using a gasket behavior model Section 31 6 6 of the Abaqus Analysis User s Manual to obtain a creep closure 1 1 1 5 CREEP Integration schemes Abaqus provides both explicit and implicit time integration of creep and swelling behavior defined in this routine The choice of the time integration scheme depends on the procedure tvpe the procedure definition and whether a geometric linear or nonlinear analysis is requested see Rate dependent plasticity creep and swelling Section 22 2 4 ofthe Abaqus Analysis User s Manual Implicit integration is generally more effective when the response period is long relative to typical relaxation times for the material Simple high temperature structural design applications usually do not need implicit integration but more complicated problems such as might arise in manufacturing processes creep buckling applications or nonstructural problems such as geotechnical applications
491. the request VAR respectively If any array component is not applicable for a given request its value will be returned as the initialized value 0 0 in ARRAY 0 in JARRAY and N A in FLGRAY The error flag JRCD I is returned from GETVRM any time a request key is not recognized the request is not valid such as requesting transverse shear stress for a shell element that uses thin shell theory or all of the output components requested are zero otherwise JRCD 0 Ordering of returned components The components for a request are written as follows Single index components and requests without components are returned in positions 1 2 3 etc Double index components are returned in the 2 1 6 2 MATERIAL POINT INFORMATION order 11 22 33 12 13 23 for symmetric tensors followed by 21 31 32 for unsymmetric tensors deformation gradient Thus the stresses for a plane stress element are returned as ARRAY 1 S11 ARRAY 2 S22 ARRAY 3 0 0 and ARRAY 4 S12 Three values are always returned for principal value requests the minimum value first and maximum value third regardless of the dimensionality of the analysis The description of the output variable see Abaqus Standard output variable identifiers Section 4 2 1 of the Abaqus Analysis User s Manual determines which components are retrieved with GETVRM Analysis time for which values are returned When a material point quantity is requested with utility routine GETVRM
492. the request to be successful The returned arrays rData jData and cData correspond to the real valued variable integer valued variable and string variable respectively that can be associated with the request output variable key VAR If any output variable component is not applicable for a given request its value will be returned as the initialized value 0 0 in rData 0 in jData and N A in cData Currently the association of the integer valued variable and the string variable with the request output variable is not supported The error flag jStatus is returned with a value of 1 if a request key is not recognized not valid or not supported otherwise j Status is returned with a value of 0 Component ordering in symmetric tensors For symmetric tensors such as the stress and strain tensors there are ndir nshr components where ndir and nshr are the number of direct and shear components respectively that are passed into user subroutine VUSDFLD The component order is given as a natural permutation of the indices of the tensor The direct components are first and then the indirect components beginning with the 12 component For example a stress tensor contains ndir direct stress components and nshr shear stress components which are returned as Component 2 D Case 3 D Case 1 ou O11 2 022 022 3 933 933 4 012 012 2 1 7 2 MATERIAL POINT INFORMATION Component 2 D Case 3 D Case 5 023
493. the slave node exist on the master surface this phenomenon commonly occurs near the corners of a master surface No proximitv points exist for a slave node that is separated from the master surface bv more than the tracking thickness A two dimensional representation for contact between portions of shell surfaces is shown in Figure 1 2 16 1 4 proximity points for these local minima within tracking thickness Gap is greater than tracking thickness no proximity point Slave surface Master surface Figure 1 2 16 1 Four proximity points are associated with three slave nodes in this surface pairing The number of proximity points currently being passed into user subroutine VUINTERACTION is nBlock The array jSlvUid nNodSlv nBlock gives the slave surface node numbers associated with the proximity points The variable nNodS1v indicates whether a single slave node for node to face contact or two slave nodes of an edge for edge to edge contact are associated with each proximitv point Similarly the array jMstUid nNodMst nBlockAnal gives the master surface node numbers associated with the proximity points the nodes can belong to a facet an edge or an analytical surface The variable nNodMst indicates the number of master nodes associated with each proximity point An Abaqus Explicit model can be defined in terms of an assembly of part instances see Defining an assembly Section 2 10 1 ofthe Abaqus Analysis User s Manual
494. the temperature during the previous time increment at the points on the master surface closest to the proximity points fieldSlv nFields nBlock Current user specified predefined field variables at the proximity points on the slave surface initial values at the beginning of the analysis and current values during the analysis fieldMst nFields nBlockAnal Current user specified predefined field variables at the points on the master surface closest to the proximity points initial values at the beginning of the analysis and current values during the analysis dFieldSlv nFields nBlock Increment in the user specified predefined field variables during the previous time increment at the proximity points on the slave surface 1 2 16 9 VUINTERACTION dFieldMst nFields nBlockAnal Increment in the user specified predefined field variables during the previous time increment at the points on the master surface closest to the proximity points Example e VUINTERACTION Section 4 1 36 of the Abaqus Verification Manual 1 2 16 10 VUMAT 1 2 17 VUMAT User subroutine to define material behavior Product Abaqus Explicit WARNING The use of this user subroutine generallv requires considerable expertise Xou are cautioned that the implementation of anv realistic constitutive model requires extensive development and testing Initial testing on a single element model with prescribed traction loading is stronglv recommended The componen
495. the time in the increment at which the values are returned will depend upon which user subroutine calls it GETVRM returns values at the end of the current increment to user subroutine UVARM whereas it returns values at the beginning of the current increment to user subroutine USDFLD Equilibrium state for values returned User subroutine UVARM may call GETVRM multiple times for each increment as Abaqus Standard iterates to a converged solution Values returned from GETVRM calls preceding the final iteration for the increment will not represent the converged solution Example To illustrate the use of GETVRM if the identifier PEQC is specified for use with a jointed material ARRAY will be returned with the individual equivalent plastic strain components PEQC1 PEQC2 PEQC3 and PEQC4 Since there are no integer output variables associated with this identifier JARRAY will be returned with default values of 0 The FLGRAY array will contain either YES or NO flags indicating whether each component is actively yielding If the identifier PE is specified for a material with plasticity ARRAY will be returned with plastic strain components PE11 PE22 PE33 PE12 PE13 PE23 the equivalent plastic strain PEEQ and the plastic strain magnitude PEMAG Since there are no integer values associated with this request JARRAY will be 0 The FLGRAY array will have N A for the first six components either YES or NO in the seventh component corresponding to PEE
496. tic strain results to NODE from only the two elements that have plastic yield behavior defined Example Obtaining contact results A second illustration is relevant to the modeling of wear with UMESHMOTION Consider a case where JELEMLIST is obtained from GETNODETOELEMCONN and where the identifier CSTRESS is specified If NODE is associated with a contact pair slave surface JELEMLIST will contain the internal element identifier for the contact element associated with the slave node pairing ARRAY will be returned with the individual contact stress components CPRESS CSHEARI and CSHEAR2 Similarly if CDISP is specified ARRAY will be returned with the individual contact stress components CDISP CSLIP1 and CSLIP2 2 1 8 4 NODE POINT INFORMATION 2 1 9 OBTAINING NODE POINT INFORMATION Product Abaqus Standard References e UMESHMOTION Section 1 1 42 e Erosion of material sand production in an oil wellbore Section 1 1 22 of the Abaqus Example Problems Manual Overview Utility routine GETVRN can be called from user subroutine UMESHMOTION to access node point information Interface DIMENSION ARRAY 15 JGVBLOCK CALL GETVRN NODE VAR ARRAY JRCD JGVBLOCK LTRN Variables to be provided to the utilitv routine NODE Node number VAR Output variable key from the table in Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analvsis User s Manual The applicable kev
497. tificial strain energy associated with such effects as artificial stiffness introduced to control hourglassing or other singular modes in the element ENERGY 7 Electrostatic energy ENERGY 8 Incremental work done by loads applied within the user element When KINC is equal to zero the call to UEL is made for zero increment output see Output Section 4 1 1 of the Abaqus Analysis User s Manual In this case the energy values returned will be used only for output purposes and are not updated permanently Variable that can be updated PNEWDT Ratio of suggested new time increment to the time increment currently being used DTIME see below This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus Standard if automatic time incrementation is chosen It is useful only during equilibrium iterations with the normal time incrementation as indicated by LFLAGS 3 1 During a severe discontinuity iteration such as contact changes PNEWDT is ignored unless CONVERT SDI YES is specified for this step The usage of PNEWDT is discussed below PNEWDT is set to a large value before each call to UEL If PNEWDT is redefined to be less than 1 0 Abaqus Standard 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 cal
498. tine e is used to define complicated frequency dependencies for the cross spectral density matrix of the random loading and e ignores any data given for the associated frequency function outside the user subroutine User subroutine interface SUBROUTINE UPSD PSD PSDR PSDI FREQ KSTEP INCLUDE ABA PARAM INC CHARACTER 80 PSD user coding to define PSDR and PSDI RETURN END Variables to be defined PSDR Real part of the frequency function at this frequency 1 1 47 1 UPSD PSDI Imaginarv part of the frequencv function at this frequencv Variables passed in for information PSD User specified name for this frequencv function definition left justified FREQ Frequency in radians per time KSTEP Step number 1 1 47 2 1 1 48 URDFIL URDFIL User subroutine to read the results file Product Abaqus Standard References Results file output format Section 5 1 2 of the Abaqus Analysis User s Manual Accessing the results file information Section 5 1 3 of the Abaqus Analysis User s Manual Utility routines for accessing the results file Section 5 1 4 ofthe Abaqus Analysis User s Manual Overview User subroutine URDFIL can be used to access the results file during an analysis is called at the end of any increment in which new information is written to the results file must call the utility routine DBFILE to read records from the results file see Utility routin
499. tine Any values given as direct data input will be ignored Variables passed in for information NSECPT Maximum number of section values required for any node in the model KSTEP Step number KINC Increment number TIME 1 Current value of step time TIME 2 Current value of total time 1 1 50 2 UTEMP NODE Node number COORDS An arrav containing the current coordinates of this point These are the current coordinates if geometric nonlinearity is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analysis User s Manual otherwise the array contains the original coordinates of the node 1 1 50 3 1 1 51 UTRACLOAD UTRACLOAD User subroutine to specifv nonuniform traction loads Product Abaqus Standard References Distributed loads Section 32 4 3 of the Abaqus Analysis User s Manual DLOAD DSLOAD Distributed traction and edge loads Section 1 4 18 of the Abaqus Verification Manual Overview User subroutine UTRACLOAD can be used to define the variation of the distributed traction load magnitude as a function of position time element number load integration point number etc if needed can be used to define the initial loading direction for the distributed traction load as a function of position element number load integration point number etc will be called at each load integration point for each element based e
500. tion 2 10 1 of the Abaqus Analysis User s Manual In such models a node number is an internally generated node number If the original node number and part instance name are required call the utility routine VGETPARTINFO see Obtaining part information Section 2 1 5 1 2 6 1 VFRICTION Local coordinate svstem A local coordinate svstem is defined for each contact point to facilitate specification of frictional forces and incremental slip The local l direction is tangential to the master surface it is defined bv ti ds ds where ds is the incremental slip vector The incremental slip vector used to define t corresponds to the incremental slip in the current time increment The master surface normal direction n is the local 3 direction The local 2 direction is given by tg n x ti which is also tangent to the master surface The vectors are shown in Figure 1 2 6 1 The direction cosines for ti and n with respect to the global coordinate system are available in dirCosS1 and dirCosN respectively In the case of zero incremental slip ds 0 we choose an arbitrary direction for ti that is orthogonal to the normal direction n surface normal slave node slip directions master surface incremental frictional slip Figure 1 2 6 1 Local coordinate system for three dimensional contact with VFRICTION Frictional forces You specify the frictional force fTangential at each contact point in local coordinates
501. tion together with gradients with respect to the 2 direction and for three dimensional beams the l direction of the section or temperatures and field variables for a shell section are given 1 1 31 2 UFIELD as values at the reference surface together with gradients through the thickness The number of values required NSECPT is 3 for three dimensional beams 2 for two dimensional beams and 2 for shells Give the midsurface value first followed by the first and if necessary second gradients as described in Beam elements Section 28 3 of the Abaqus Analysis User s Manual and Shell elements Section 28 6 ofthe Abaqus Analysis User s Manual Since field variables can also be defined directly it is important to understand the hierarchy used in situations of conflicting information see Predefined fields Section 32 6 1 ofthe Abaqus Analysis User s Manual When the array FIELD is passed into user subroutine UFIELD it will contain either the field variable values from the previous increment or those values obtained from the results file ifthis method was used You are then free to modify these values within this subroutine Variables passed in for information KFIELD User specified field variable number This variable is meaningful only when updating individual field variables at a time NFIELD User specified number of field variables to be updated This variable is meaningful only when updating multiple field v
502. to impose the constraint cannot be used in subsequent kinematic constraints multi point constraints linear equation constraints or boundarv conditions The MPCs are imposed in the order given in the input for this purpose The nodal version of user subroutine MPC was designed with the application of nonlinear constraints involving large three dimensional rotations in mind Due to the incremental nature of the solution procedure in Abaqus Standard a linearized set of constraints 6f A u A 6u A due 0 i 1 2 NDEP where Al Al ul u A A u u etc is applied during each iteration This linearized set of constraints is used for the calculation of equilibrium For finite rotations the linearized equation is given in terms of the linearized rotations 601 602 605 yielding f A 60 A 607 A 60 0 i 1 2 NDEP Since the linearized rotation field 60 is not the variation of the total rotation vector see Rotation variables Section 1 3 1 of the Abaqus Theory Manual you cannot obtain the linearized constraint equation by simply taking derivatives of the vector function f with respect to the rotational degrees of freedom involved The formulation of the linearized constraint in 60 is equivalent to the formulation of a geometrically linear constraint in the deformed configuration and is generally easier to formulate than the constraint in terms of 6 For an exact formul
503. uations For most nonlinear analysis procedures NRHS 1 and RHS should contain the residual vector The exception is the modified Riks static procedure Static stress analysis Section 6 2 2 of the Abaqus Analysis User s Manual for which NRHS 2 and the first column in RHS should contain the residual vector and the second column should contain the increments of external load on the element RHS K1 K2 is the entry for the K1th degree of freedom of the element in the K2th right hand side vector AMATRX An array containing the contribution of this element to the Jacobian stiffness or other matrix of the overall system of equations The particular matrix required at any time depends on the entries in the LFLAGS array see below All nonzero entries in AMATRX should be defined even if the matrix is symmetric If you do not specify that the matrix is unsymmetric when you define the user element Abaqus Standard will use the symmetric matrix defined by 3 LA A where A is the matrix defined as AMATRX in this subroutine If you specify that the matrix is unsymmetric when you define the user element Abaqus Standard will use AMATRX directly SVARS An array containing the values of the solution dependent state variables associated with this element The number of such variables is NSVARS see below You define the meaning of these variables For general nonlinear steps this array is passed into UEL containing the values of these vari
504. uhard C Read only nblock jElem kIntPt kLayer kSecPt lAnneal stepTime totalTime dt cmname nstatev nfieldv nprops props tempOld tempNew fieldOld fieldNew stateOld eqps eqpsRate C Write only 1 2 14 1 VUHARD yield dyieldDtemp dvieldDeqps stateNew C include vaba param inc Cc dimension props nprops tempOld nblock tempNew nblock 1 fieldOld nblock nfieldv fieldNew nblock nfieldv 2 stateOld nblock nstatev eqps nblock eqpsRate nblock 3 yield nblock dyieldDtemp nblock dvieldDeqps nblock 2 4 stateNew nblock nstatev jElem nblock e character 80 cmname e do 100 km 1 nblock user coding 100 continue e return end Variables to be defined vield nblock Arrav containing the vield stress for isotropic plasticitv or vield surface size for combined hardening at the material points dvieldDeqps nblock 1 Arrav containing the derivative of the vield stress or vield surface size with respect to the equivalent plastic strain at the material points dvieldDeqps nblock 2 Arrav containing the derivative of the vield stress with respect to the equivalent plastic strain rate at the material points This quantitv is not used with the combined hardening model dvieldDtemp nblock Array containing the derivative of the yield stress or yield surface size with respect to temperature at the material points This quantitv is required onlv in adiabat
505. updated for all elements This flag can be set only when LRECOMPUTE 1 Return LUPGLOBAL as 0 default to indicate that the intermediate configuration should not be updated Return LUPGLOBAL as if the intermediate configuration should be updated for all elements with Abaqus Aqua loads 1 1 54 2 UWAVE Variables passed in for information LRECOMPUTE For stochastic analysis LRECOMPUTE I indicates that an update to the intermediate configuration is permitted during this call to user subroutine UWAVE The local and global update flags must be set accordingly If the intermediate configuration is to be updated the local update flag LUPLOCAL or the global update flag LUPGLOBAL must be set to 1 When LRECOMPUTE I and the intermediate configuration needs to be updated the user subroutine should recompute all wave kinematics information based on the new intermediate configuration For nonstochastic analysis this flag is always set to 0 LPDYN LPDXN I indicates that only the dynamic pressure and its gradient need to be calculated i e buoyancy loads LPDYN 0 indicates that only the fluid velocity and acceleration need to be calculated i e drag or inertia loads LSURF LSURF I indicates that subroutine UWAVE only needs to return the instantaneous fluid surface elevation When LSURF 1 no velocity acceleration or dynamic pressure needs to be calculated LSURF 0 indicates that the instantaneous fluid surface elevation SURF is not needed
506. urface based distributed load definition The vector T_USER passed out of the subroutine is used as the initial loading direction tuser discussed in Distributed loads Section 32 4 3 of the Abaqus Analysis User s Manual The direction of T USER as defined by the subroutine should not change during a step If it does convergence difficulties might arise Load directions are needed only for a nonuniform general surface traction shear surface traction and general edge traction Ifa direction is defined for the nonuniform normal edge traction shear edge traction transverse edge traction or edge moment it will be ignored See Distributed loads Section 32 4 3 of the Abaqus Analysis User s Manual for details Variables passed in for information KSTEP KINC TIME TIME NOEL NPT Step number Increment number 1 Current value of step time or current value of the load proportionality factor A in a Riks step 2 Current value of total time User defined element number Load integration point number within the element or on the element s surface depending on the load type 1 1 51 2 UTRACLOAD COORDS An arrav containing the coordinates of the load integration point These are the current coordinates if geometric nonlinearitv is accounted for during the step see Procedures overview Section 6 1 1 of the Abaqus Analvsis User s Manual otherwise the arrav contains the original coordinates of
507. us Standard ANALVSIS Product Abaqus Standard References e UVARM Section 1 1 53 e USDFLD Section 1 1 49 e UDMGINI Section 1 1 25 e Damage and failure of a laminated composite plate Section 1 1 14 of the Abaqus Example Problems Manual e USDFLD Section 4 1 24 of the Abaqus Verification Manual e UVARM Section 4 1 26 of the Abaqus Verification Manual Overview Utilitv routine GETVRM can be called from either user subroutine UVARM UDMGINI or USDFLD to access material integration point information Interface DIMENSION ARRAY 15 JARRAY 15 CHARACTER 3 FLGRAY 15 CALL GETVRM VAR ARRAY JARRAY FLGRAY JRCD JMAC JMATYP MATLAYO LACCFLA Variables to be provided to the utilitv routine VAR Output variable key from the table in Abaqus Standard output variable identifiers Section 4 2 1 ofthe Abaqus Analvsis User s Manual The applicable kevs are listed in the output table as being available for results file output at the element integration points e g S for stress JMAC Variable that must be passed into the GETVRM utilitv routine The calling user subroutine provides this variable JMATYP Variable that must be passed into the GETVRM utility routine The calling user subroutine provides this variable 2 1 6 1 MATERIAL POINT INFORMATION MATLAYO Variable that must be passed into the GETVRM utility routine The calling user subroutine provides this variable
508. use the job to terminate Variables passed in for information STRAN NSECV An array containing the generalized section strains membrane strains and curvature changes at the beginning of the increment The size of this array depends on the value of NSECV see below for details DSTRAN NSECV Array of generalized section strain increments TSS 2 Array containing the transverse shear strains TIME 1 Value of step time at the beginning of the current increment TIME 2 Value of total time at the beginning of the current increment DTIME Time increment TEMP Temperature at the start of the increment 1 1 34 4 UGENS DTEMP Increment of temperature PREDEF Array of interpolated values of predefined field variables at this point at the start of the increment based on the values read in at the nodes DPRED Array of increments of predefined field variables CENAME User specified element set name associated with this section left justified NDI Number of direct force components at this point NSHR Number of shear force components at this point NSECV Size of the force and strain component arrays NSTATV User defined number of solution dependent state variables associated with this section Defining the number of solution dependent variables that must be stored for the section in Using a general shell section to define the section behavior Section 28 6 6 of the Abaqus Analysis User s Manu
509. user subroutine therefore you may end up advancing the state variables for the associated node multiple times for a single time increment To keep track of whether or not a node state is advanced you may want to use one of the state variables 1 2 16 5 VUINTERACTION exclusively for this purpose You could set that selected state variable to the current increment number and update the state only if it is not already set to the current increment number sed nBlock On entry this array contains the elastic energy density at the proximity points at the beginning of the increment It can be updated to contain the elastic energy density at the end of the current time increment These values contribute to the output variable ALLSE and have no effect on other solution variables The use of this variable is applicable only for node to face contact sfd nBlock This array can be updated to contain the increment in frictional dissipation at each proximitv point units of energy per unit area These values contribute to the output variables SFDR and ALLFD and have no effect on other solution variables The use of this variable is applicable onlv for node to face contact scd nBlock This array can be updated to contain the increment in creep dissipation at each proximity point units of energy per unit area These values contribute to the output variables SFDR and ALLCD and have no effect on other solution variables The use of this variable is appli
510. ust also store GN as an internal state vector where t indicates the time at the beginning of the previous increment For a 0 FN MNM dizi at Gira and GN is not needed You must define AMATRX MNM d du 1 a C d du 4 l a KNM where CNM IGN 1401 00 and KNM OGN14a1 0u RHS F must also be defined and the state variables H updated Although the value of a given in the dynamic step definition is passed into UEL the value of a can vary from element to element For example a can be set to zero for some elements in the model where numerical dissipation is not desired LFLAGS 3 5 Half increment residual F 172 calculation Abaqus Standard will adjust the time increment so that max IE lt tolerance where tolerance is specified in the dynamic step definition The half increment residual is defined as Fi MMiunyp 1 0 GM au SG G a 2 7 where t indicates the time at the beginning of the previous increment a is a parameter of the Hilber Hughes Taylor time integration operator and will be set to zero if the backward Euler time integration operator is used You must define RHS FN To evaluate MNM and G44 At 2 you must calculate H Ar 2 These half increment values will not be saved DTIME will still contain At not At 2 The values contained in U V A and DU are half increment values LFLAGS 3 4 Velocity jump calculation Abaqus Standard solves MNM AuM 0 for A so you must defi
511. ut of f 0 In light of the above formulation the nontrivial portions of the matrices A and JDOF are 1 0 0 1 0 Lxsing Ly cosg A 1 3 1 3 1 0 1 0 A 1 3 1 3 2 0 1 Lxcos Lysin 001 0 0 i and 1 JDOF 1 3 1 JDOF 1 3 2 2 6 Since degree of freedom 6 appears in this constraint there must be an element in the mesh that uses that degree of freedom a B21 beam element for example If the above multi point constraint is defined as type 1 with nodes a and b the user subroutine MPC could be coded as follows SUBROUTINE MPC UE A JDOF MDOF N JTYPE X U UINIT MAXDOF LMPC KSTEP KINC TIME NT NF TEMP FIELD LTRAN TRAN INCLUDE ABA PARAM INC DIMENSION UE MDOF A MDOF MDOF N JDOF MDOF N X 6 N U MAXDOF N UINIT MAXDOF N TIME 2 TEMP NT N FIELD NF NT N LTRAN N TRAN 3 3 N IF JTYPE EQ 1 THEN COSFIB COS U 6 2 SINFIB SIN U 6 2 ALX X 1 1 X 1 2 ALY X 2 1 X 2 2 UE 1 UE 2 UE 3 U 1 2 ALX COSFIB 1 ALY SINFIB U 2 2 ALY COSFIB 1 ALX SINFIB U 6 2 A 1 1 1 A 2 2 1 A 3 3 1 1 1 1 1 1 14 15 MPC A 1 1 2 1 A 1 3 2 ALX SINFIB ALY COSFIB A 2 2 2 1 A 2 3 2 ALX COSFIB ALY SINFIB A 3 3 2 1 c JDOF 1 1 1 JDOF 2 1 2 JDOF 3 1 6 JDOF 1 2 1 JDOF 2 2 2 JDOF 3 2 6 END IF c RETURN END Example Nonlinear MPC involving finite rotations As an example of a nonlinear MPC invol
512. value of total time DTIME Time increment KSTEP KINC Step number Increment number 1 1 42 3 UMESHMOTION KMESHSWEEP Mesh sweep number JMATYP Variable that must be passed into the GETVRMAVGATNODE utility routine to access local results at the node JGVBLOCK Variable that must be passed into the GETVRN GETNODETOELEMCONN and GETVRMAVGATNODE utility routines to access local results at the node 1 1 42 4 UMOTION 1 1 43 UMOTION User subroutine to specifv motions during cavitv radiation heat transfer analvsis or steadv state transport analvsis Product Abaqus Standard References e Cavity radiation Section 39 1 1 of the Abaqus Analysis User s Manual e Steady state transport analysis Section 6 4 1 of the Abaqus Analysis User s Manual e xMOTION e TRANSPORT VELOCITY Overview User subroutine UMOTION e can be used either to define the magnitude of the translational motion for degrees of freedom specified as a predefined field in a cavity radiation heat transfer analysis or to define the magnitude of the rotational velocity in a steady state transport step and e will overwrite any motion or transport velocity magnitudes if they are defined directly and possibly modified by including an amplitude reference outside the user subroutine User subroutine interface SUBROUTINE UMOTION U KSTEP KINC TIME NODE JDOF c INCLUDE ABA PARAM INC c DIMENSION U TIME 2 c user coding t
513. values are from the beginning of the increment e canuse a predefined number of state variables in its definition and e can optionally compute the derivatives and integrals of the amplitude function Explicit solution dependence The solution dependence introduced in this user subroutine is explicit all data passed in the subroutine for information or to be updated are values at the beginning of that increment User subroutine interface SUBROUTINE VUAMP ampName time ampValueOld dt nSvars svars lFlagsinfo nSensor sensorValues sensorNames jSensorLookUpTable AmpValueNew 1FlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral c INCLUDE VABA PARAM INC c time indices parameter iStepTime 1 iTotalTime 2 nTime 2 C flags passed in for information 1 2 7 1 VUAMP parameter ilnitialization 1 iRegularInc 2 ikStep 3 nFlagsInfo 3 c optional flags to be defined parameter iComputeDeriv 1 iComputeSecDeriv 2 iComputeInteg 3 iStopAnalysis 4 iConcludeStep 5 nFlagsDefine 5 dimension time nTime 1FlagsInfo nFlagsInfo lFlagsDefine nFlagsDefine sensorValues nSensor sVars nSvars character 80 sensorNames nSensor character 80 ampName dimension jSensorLookUpTable user coding to define AmpValueNew and optionally lFlagsDefine AmpDerivative AmpSecDerivative AmpIncIntegral RETURN END Variable to be defined AmpValu
514. ve with the solution and are stored as solution dependent state variables will be called at all material calculation points for which the material definition contains volumetric heat generation during heat transfer coupled temperature displacement coupled thermal electrical or coupled thermal electrical structural analysis procedures can be useful if it is necessary to include a kinetic theory for a phase change associated with latent heat release for example in the prediction of crystallization in a polymer casting process can be used in conjunction with user subroutine USDFLD if it is desired to redefine any field variables before they are passed in and cannot be used with user subroutine UMATHT User subroutine interface SUBROUTINE HETVAL CMNAME TEMP TIME DTIME STATEV FLUX 1 PREDEF DPRED INCLUDE ABA PARAM INC CHARACTER 80 CMNAME 1 1 13 1 HETVAL DIMENSION TEMP 2 STATEV PREDEF TIME 2 FLUX 2 1 DPRED user coding to define FLUX and update STATEV RETURN END Variables to be defined FLUX 1 Heat flux r thermal energy per time per volume JT L at this material calculation point FLUX 2 Rate of change of heat flux per temperature Or 06 This variable is nonzero only if the heat flux depends on temperature It is needed to define a correct Jacobian matrix Variable that can be updated STATEV An array containing the user defined solution dependent state variables at
515. ving finite rotations consider a two dimensional constant velocity joint that might be part of a robotics application Let a b c see Figure 1 1 14 3 be the nodes making up the joint with a the dependent node Figure 1 1 14 3 Nonlinear MPC example constant velocity joint The joint is operated by prescribing an axial rotation e at c and an out of plane rotation e at b The compounding of these two prescribed rotation fields will determine the total rotation at a We can formally write this constraint as follows 1 1 14 16 MPC F o p o e o g 0 where o denotes the rotation product The formulation ofthe linearized constraint can be readily achieved from geometrically linear considerations in the deformed state In geometrically linear problems compound rotations are obtained simply as the linear superposition of individual rotation vectors Consider the geometry depicted in Figure 1 1 14 3 and assume that the infinitesimal rotations 69 66 e and 60 66 e are applied at c and b respectively The rotation 60 at a will simply be the sum of the vector 60 to the vector 60 rotated by an angle about the z axis Thus the linearized constraint can be written directly as f 60 cos 66 0 5 fal p 6 605 sin d 66 0 fal 66 66 0 In light of this formulation the nontrivial portions of the matrices JDOF and A are 4 JDOF
516. wton corrections The current approximations were found by extrapolation from the previous increment Current value of step time TIME 2 Current value of total time Scalar parameters DTIME Time increment PERIOD Time period of the current step NDOFEL Number of degrees of freedom in the element MLVARX Dimensioning parameter used when several displacement or right hand side vectors are used NRHS Number of load vectors NRHS is in most nonlinear problems it is 2 for the modified Riks static procedure Static stress analysis Section 6 2 2 of the Abaqus Analysis User s Manual and it is greater than 1 in some linear analysis procedures and during substructure generation 1 1 28 7 UELMAT NSVARS User defined number of solution dependent state variables associated with the element Defining the number of solution dependent variables that must be stored within the element in User defined elements Section 31 15 1 of the Abaqus Analysis User s Manual NPROPS User defined number of real property values associated with the element Defining the element properties in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual NJPROP User defined number of integer property values associated with the element Defining the element properties in User defined elements Section 31 15 1 ofthe Abaqus Analysis User s Manual MCRD MCRD is defined a
517. yered solids 1 1 53 3 UVARM KSPT Section point number within the current laver KSTEP Step number KINC Increment number NDI Number of direct stress components at this point NSHR Number of shear stress components at this point COORD Coordinates at this material point JMAC Variable that must be passed into the GETVRM utilitv routine to access an output variable JMATYP Variable that must be passed into the GETVRM utility routine to access an output variable MATLAYO Variable that must be passed into the GETVRM utility routine to access an output variable LACCFLA Variable that must be passed into the GETVRM utility routine to access an output variable Example Calculation of stress relative to shift tensor Below is an example of user subroutine UVARM The subroutine calculates the position of the current state of stress relative to the center of the yield surface for the kinematic hardening plasticity model by subtracting the kinematic shift tensor a from the stress tensor See Metal plasticity models Section 4 3 1 of the Abaqus Theory Manual for additional details SUBROUTINE UVARM UVAR DIRECT T TIME DTIME CMNAME ORNAME 1 NUVARM NOEL NPT LAYER KSPT KSTEP KINC NDI NSHR COORD 2 JMAC JMATYP MATLAYO LACCFLA INCLUDE ABA PARAM INC CHARACTER 80 CMNAME ORNAME CHARACTER 3 FLGRAY 15 DIMENSION UVAR NUVARM DIRECT 3 3 T 3 3 TIME 2 1 1 53 4 UVARM DIMENSION
518. ype you define this as described in Allocating space in User subroutines overview Section 17 1 1 of the Abaqus Analysis User s Manual nfieldv Number of user defined external field variables nprops User specified number of user defined material properties props nprops User supplied material properties tempOld nblock Temperatures at each material point at the beginning of the increment tempNew nblock Temperatures at each material point at the end of the increment fieldold nblock nfieldv Values of the user defined field variables at each material point at the beginning of the increment fieldNew nblock nfieldv Values of the user defined field variables at each material point at the end of the increment stateOld nblock nstatev State variables at each material point at the beginning of the increment ebar nblock ndir nshr Modified Green strain tensor at each material point at the end of the increment detu nblock J determinant of deformation gradient volume ratio at the end of the increment Example Using more than one user defined anisotropic hyperelastic material model To use more than one user defined anisotropic hyperelastic material model the variable cmname can be tested for different material names inside user subroutine VUANISOHYPER_STRAIN as illustrated below 1 2 9 6 VUANISOHVPER STRAIN if cmname 1 4 eq MATI then call VUANISOHXVPER STRAINI argument
519. ysis Section 6 2 5 of the Abaqus Analysis User s Manual procedures e allows for the definition of creep laws for which the meaning and internal use depend on the material model with which they are being used 1 1 1 1 CREEP e allows creep and swelling to be combined with rate independent plastic behavior in a coupled manner or they may simply be the only inelastic behaviors of the material in which case Mises behavior is assumed e can use and update solution dependent state variables and e can be used in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in If user subroutine CREEP is used to define rate dependent behavior in the thickness direction for a gasket the subroutine e is intended to provide the creep laws that are used to prescribe the thickness direction behavior for a gasket e can be used only in a quasi static Quasi static analysis Section 6 2 5 of the Abaqus Analysis User s Manual procedure e is used in a coupled form with the elastic plastic model used to define the rate independent part of the thickness direction behavior of the gasket and e can use and update solution dependent variables Metals For metals whose material behavior includes metal creep and or time dependent volumetric swelling the routine allows any creep and swelling laws viscoplastic behavior of the following general form to be defined cr Er SW C
Download Pdf Manuals
Related Search
Related Contents
ascent h1 English Instructions Speco Technologies Speco vm-15lcd User's Manual 14 4 Stroke Top End Inspection 稚内公園を歩こう identificação do dispositivo ne-u700 manual de instruções IT - ISTRUZIONI ORIGINALI IN LINGUA ITALIANA 1 Polaroid LCD-2050 User's Manual 全部のファイルを一括してダウンロード 取扱説明書 43-76f量壽 - ご家庭のお客さま/大阪ガス Copyright © All rights reserved.
Failed to retrieve file