zyf22x 发表于 2011-11-7 08:48
用瞬态分析
ANTYPE, 4 瞬态分析
NSUBST,10 子步数、自动调整步长等设置依据你的需要
你好!我添加了瞬态分析选项,结果还是没变。以下是我的命令流,请问能否帮我看看是哪里出问题了?我要在荷载步之间改变材料属性,所以得用重启动分析。谢谢!
/PREP7
FORCE=0 !初始荷载
ET,1,SOLID45
MP,EX,1,1e9
MP,NUXY,1,0.3
block,0,1,0,1,0,1 !建立模型
lesize,all,,,5
vmesh,1
nsel,s,loc,z,-0.01,0.01
d,all,UZ
ALLSEL,ALL
*do,i,1,125 !!将单元i的材料属性变为i,一一对应,以便稍后挨个修改弹模MP,EX,i
ET,i,SOLID45
MP,EX,i,1e9
MP,NUXY,i,0.3
ESEL,,,,i
MPCHG,i,ALL
allsel,all
*enddo
*dim,pressure,array,125
*do,i,1,125
pressure(i)=0 !!设置初始单元平均应力=0
*enddo
nsel,s,loc,z,0.99,1.01 !!耦合顶面节点,随后将荷载加载在主节点上。
cp,48,uz,all
allsel,all
/SOLU
!输出RESTART文件
ANTYPE,4
autots,on
RESCONTROL,DEFINE,ALL,-1,1
NLGEOM,1
finish
save
*DO,I,1,10 !!!10个荷载步加载
/SOLU
*IF,I,GT,1,THEN
ANTYPE,4,REST, !!!Specifies the analysis type and restart status.
PARRES,CHANGE,PARAM,TXT,
*ENDIF
*do,j,1,125
*IF,pressure(j),Gt,0,THEN !!如果平均应力大于0就更新弹模
MP,EX,j,1e9+2e7*pressure(j)**(1/2) !!每个单元i的弹模都要更新
*ENDIF
*enddo
!得到下一步荷载
ANTYPE,4
autots,on
fcum,add
F,48,fz,-100
allsel,all
time,i
SOLVE
FINISH
save
/POST1
ETABLE,EtabS1,S,1 !取各单元第一主应力
ETABLE,EtabS2,S,2 !取各单元第一主应力
ETABLE,EtabS3,S,3 !取各单元第三主应力
*del,ArrS1,,nopr
*del,ArrS2,,nopr
*del,ArrS3,,nopr
*del,pressure,,nopr
*dim,ArrS1,array,125
*dim,ArrS2,array,125
*dim,ArrS3,array,125
*dim,pressure,array,125
*do,Num,1,125 !Num为单元编号
*get,ArrS1(Num),elem,Num,etab,EtabS1
*get,ArrS2(Num),elem,Num,etab,EtabS2
*get,ArrS3(Num),elem,Num,etab,EtabS3
pressure(Num)=-(ArrS1(Num)+ArrS2(Num)+ArrS3(Num))/3 !!定义、提取平均应力,作为模量更新的函数
*enddo
PARSAV,ALL,PARAM,TXT !!!!Writes parameters to a file
FINISH
*ENDDO |