- 积分
- 4
- 注册时间
- 2004-12-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
在论坛上得到了很多人的帮助。最近在做ufield 和 usdfld联合应用的问题,我把心得写下来,希望对大家有帮助。问题很简单,因为abaqus restart 机能不能改动material, 我想在restart 计算中加入破坏准则 即要改动material, 所以用ufield 把上一次计算的自定义场变量先输入model,再继续计算。
子程序见下(在打开文件的时候一定要写明路径,B.txt是第一次计算的自定义场在节点上的值):
SUBROUTINE UFIELD(FIELD,KFIELD,NSECPT,KSTEP,KINC,TIME,NODE,
1 COORDS,TEMP,DTEMP)
INCLUDE 'ABA_PARAM.INC'
DIMENSION FIELD(NSECPT),TIME(2),COORDS(3),TEMP(NSECPT),
1 DTEMP(NSECPT),ard(100000)
KFIELD=1
C
C Set the Field variable to be equal to the depth
C
open(unit=16,file='d:/m-h2412/2d-ini/B.txt')
ie=0
do
ie=ie+1
read(16,*,end=100) m,a
ard(ie)=a
end do
100 continue
close(16)
c
FIELD(1)=ard(NODE)
c
RETURN
END
c#############################################################################
subroutine usdfld(field,statev,pnewdt,direct,t,celent,time,dtime,
1 cmname,orname,nfield,nstatv,noel,npt,layer,kspt,kstep,kinc,
2 ndi,nshr,coord,jmac,jmtyp,matlayo,laccflg)
c
include 'aba_param.inc'
c
character*80 cmname,orname
character*3 flgray(15)
dimension field(nfield),statev(nstatv),direct(3,3),t(3,3),time(2),
* coord(*),jmac(*),jmtyp(*)
dimension array(15),jarray(15)
statev(1)=field(1)
call getvrm('PE',array,jarray,flgray,jrcd,
$ jmac, jmtyp, matlayo, laccflg)
evol = abs(array(1)+array(2))
at=evol*field(1)
field(1)=at
statev(1)=field(1)
return
end
inp 文件里加入,(Set-1是节点集合,注意一定要建立节点集合,B文件中的节点是set-1集合中的)
*Step,
*Static,
** BOUNDARY CONDITIONS
*field, user, variable=1
Set-1,
|
评分
-
1
查看全部评分
-
|