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 utility routine to access an output variable.
(通过GETVRM的实际程序输出变量) JMATYP
Variable that must be passed into the GETVRM utility routine to access an output variable.
(通过GETVRM的实际程序输出变量) MATLAYO
Variable that must be passed into the GETVRM utility routine to access an output variable.
(通过GETVRM的实际程序输出变量)
LACCFLA
Variable that must be passed into the GETVRM utility routine to access an output variable.
(通过GETVRM的实际程序输出变量)
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 of the Abaqus Analysis User's Manual.
(下面是使用USDFLD的一个例子。在这个例子中,桁架单元受到拉力作用。弹性损伤模型被描述为:在加载过程中,根据最大拉伸应变的函数,弹性模量减少。最大拉伸应变作为解相关状态变量被储存—可参考定义解相关变量) Input file (输入数据)
*HEADING
DAMAGED ELASTICITY MODEL WITH USER SUBROUTINE USDFLD *ELEMENT, TYPE=T2D2, ELSET=ONE 1, 1, 2 *NODE
1, 0., 0. 2, 10., 0.
*SOLID SECTION, ELSET=ONE, MATERIAL=ELASTIC 1.
*MATERIAL, NAME=ELASTIC *ELASTIC, 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
*BOUNDARY 1, 1, 2 2, 2 *STEP *STATIC
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) C
INCLUDE 'ABA_PARAM.INC' C
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(*) C
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 )
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.0)THEN
WRITE(6,*) 'REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER ', 1 NOEL,'INTEGRATION POINT NUMBER ',NPT ENDIF C
RETURN END
Abaqus User Subroutines Reference Manual