找回密码
 注册
Simdroid-非首页
查看: 269|回复: 3

[子程序] USDFLD怎么实现渗透系数随吸力和应变的变化关系

[复制链接]
发表于 2012-1-13 18:00:25 | 显示全部楼层 |阅读模式 来自 陕西西安
各位大侠!我想通过USDFLD编写一个渗透系数随吸力和密度的变化关系。不知道该怎么弄?不知道编出来的程序对不对?还有USDFLD子程序怎么在ABAQUS中应用?我点了user defined fields 总提示“没有与此选项有关的数据,there is no data associated with this option,...."
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  value of current strain:
      CALL GETVRM('PEEQ',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
     1 MATLAYO,LACCFLA)
      VSTRAIN =ARRAY(1)
c value of current pore water pressure :
      call GETVRM('SAT',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
     1 MATLAYO,LACCFLA)
  SR=ARRAY(1)
CALL GETVRM('EZERO',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
     1MATLAYO,LACCFLA)
       PVOI=ARRAY(1)
  PVO=VSTRAIN*(1+PVOI)+PVOI
  ROD=20/(1+PVO)
  PERM=9.8385*SR**(1182.2*2.7**(-4.8569*ROD))+(-12.757)*ROD
C Use PERM as a field variable
      FIELD(1) =0.00004*10**9*2.7**PERM
C variable
      PERM = 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
不知道程序这样对不对?
发表于 2012-7-28 11:46:38 | 显示全部楼层 来自 台湾
Simdroid开发平台
不知道方不方便一起討論
回复 不支持

使用道具 举报

发表于 2019-3-18 16:19:54 | 显示全部楼层 来自 山东济南
程序貌似有点问题
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 06:11 , Processed in 0.028177 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表