- 积分
- 0
- 注册时间
- 2010-5-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
各位大侠!我想通过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
不知道程序这样对不对?
|
|