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

请教关于生死单元模拟去除材料所出现的问题

[复制链接]
发表于 2010-3-24 16:13:07 | 显示全部楼层 |阅读模式 来自 北京海淀
本帖最后由 pcllee 于 2010-3-24 16:18 编辑

研究的是一个二维的去除材料的热分析,模型很简单,在一块板上开一长方形槽,槽面不删除,但随着给定值的热源经过后逐步去除,下面给出的是关键的命令流,
/solu
antype,4
trnopt,full
nsel,s,loc,x,0
d,all,ux,0
nsel,r,loc,y,0
d,all,uy,0
nsel,all
nsel,s,loc,x,0
nsel,r,loc,x,1
d,all,temp,30  
esel,all
*get,emax,elem,,num,max
asel,s,area,,2  !槽面为面2
esla
*get,nse,elem,,count
*dim,ne,,nse
*dim,nex,,nse
*dim,ney,,nse
*dim,neorder,,nse
mine=0
*do,i1,1,nse
esel,u,elem,,mine
*get,nse1,elem,,count
ii=0
*do,i,1,emax
*if,esel(i),eq,1,then
ii=ii+1
ne(ii)=i
*endif
*enddo
*do,i,1,nse1
*get,ney(i),elem,ne(i),cent,y   !获取槽面的X,Y坐标,分别存储在数组里
*get,nex(i),elem,ne(i),cent,x
*enddo
miny=1e-10                            !通过循环模拟槽面的材料由上至下逐步去除的过程
minx=1e20
*do,i,1,nse1  
*if,ney(i),gt,miny,then
miny=ney(i)
minx=nex(i)
mine=ne(i)
*else
*if,ney(i),eq,miny,then
*if,nex(i),lt,minx,then
miny=ney(i)
minx=nex(i)
mine=ne(i)
*endif
*endif
*endif
*enddo
neorder(i1)=mine
*enddo
max_tem=1500                    !给定的1500度的恒定温度
dt1=1e-3
dt=5
t=0
esel,all
*do,i,1,nse
ealive,neorder(i)
esel,s,live
*enddo
allsel,all
outres,all,all
ic,all,temp,20
kbc,1
timint,0,struct
timint,1,therm
timint,0,mag
tintp,0.005,,,1,0.5,0.2
nsub1=2
nsub2=40
*do,i,1,nse
t=t+dt1
time,t
nsubst,1
*do,j,1,4
d,nelem(neorder(i),j),temp,max_tem
*enddo
solve
t=t+dt1
time,t
solve
ekill,neorder(i)    !为什么在这步定义了该单元已死后在下一载荷步计算时依然起作用?(见附件的附图)
esel,s,live
t=t+dt-2*dt1
time,t
nsubst,nsub1
solve
*enddo
t=t+1000
time,t
nsubst,nsub2
solve
finish
以上的命令流是模仿二维焊接仿真而改写的,总感觉有哪里不对,结果也的确有问题,请各路大神们救命!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-6-28 15:52:04 | 显示全部楼层 来自 北京工业大学
Simdroid开发平台
期待高人解答
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-20 17:40 , Processed in 0.057379 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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