peixingkai 发表于 2012-3-3 21:18:30

请教,如何利用USDFLD实现渗透系数随应变改变

本帖最后由 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*3FLGRAY(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


peixingkai 发表于 2012-3-4 14:10:58

求高手出手相助,已经被困几天了:'(

lcc320721 发表于 2012-12-21 14:33:37

这是隧洞中那个例题吧。整体看看inp文件你就知道了

邵羽 发表于 2013-9-30 16:46:30

peixingkai 发表于 2012-3-4 14:10
求高手出手相助,已经被困几天了

这个问题你解决了吗,如果解决了麻烦告诉我一下,谢谢了 qq357229580

bafenzhai 发表于 2014-1-18 13:31:59

楼主方便留下QQ吗,谢谢

ZHANGLEI1996010 发表于 2019-3-18 16:15:27

:):@:@:@:@:@:@:@

tfylaiye 发表于 2019-5-11 22:38:14

qq353504387一起学习探讨一下
页: [1]
查看完整版本: 请教,如何利用USDFLD实现渗透系数随应变改变