usdfld与umat联合使用方法

浏览:176471 回答:5
usdfld与umat 怎样在abaqus同一个job中联合使用?
邀请回答 我来回答

全部回答

(4)
默认 最新
kagin68
如上面所示,把usdfld 和umat放在一个文件里就好了。相当于各自的子程序。。
2014年11月24日
评论 1 点赞
kagin68
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(2),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)
C
C 积分点孔压: 材料点量的值通过调用GETVRM 得到
CALL GETVRM('POR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
POR = ARRAY(1)
CALL GETVRM('SAT',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
SAT = ARRAY(1)
CALL GETVRM('VOIDR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
VOIDR= ARRAY(1)

FIELD(1) = POR
FIELD(2) = SAT
FIELD(3)=VOIDR
C 将孔压存储为一个状态变量 !定义的状态变量,可以传递到如上面所列出的那些其他用户子程序中去
STATEV(4) = FIELD(1)
STATEV(5) = FIELD(2)
STATEV(6)=FIELD(3)
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




SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,
2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,
3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,
4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
2014年11月24日
评论 点赞
kagin68
扔了好久的东西没看,今天逛论坛给你回个,不知道是不是你想问的
2014年11月24日
评论 点赞
风行世界
没人帮忙吗?
2014年11月20日
评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP