- 积分
- 0
- 注册时间
- 2011-10-22
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 peixingkai 于 2012-3-4 14:08 编辑
在《ABAQUS在隧道及地下工程中的应用》的6.6.1利用子程序USDFLD实现了渗透系数随应变的改变(子程序内容如下),可惜小弟菜鸟一只,有两个问题望高手指点:对于状态变量进行STATEV(2) =(0.1+EV)/(1+EV)及STATEV(3) =(8.26*(1+10*EV)**3)/(1+EV)/8.1赋值:
其原因是什么?这两个公式的意义?能否将其去掉?
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,
1 MATLAYO,LACCFLA)
EPS1=ARRAY(1)
EPS2=ARRAY(2)
EPS3=ARRAY(3)
EV=EPS1+EPS2+EPS3
C field variable
FIELD(1)=EV
c print*,eps1,eps2,ev
C state variable
STATEV(1) =EV
STATEV(2) =(0.1+EV)/(1+EV)
STATEV(3) =(8.26*(1+10*EV)**3)/(1+EV)/8.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
|
|