cronous999 发表于 2007-1-17 17:41:26

材料移除生死单元小问题

激光光斑移动后
想把超过熔点800度c温度的材料用生死单元移除掉
是用论坛上所指导的移动光斑程序
只是想多增加材料移除的动作
请有经验的高手指导

/prep7
/units,si
*set,x0,0
*set,y0,0
*set,rb,0.0003
*set,Q,30
*set,PI,3.1415926
*set,tim,0
QC=Q/(PI*rb*rb)
et,1,solid70
mp,dens,1,2711
mp,c,1,860
mp,kxx,1,3.89

block,0,0.003,0,0.003,-0.0004,0   
/view,1,1,1,1
esize,0.0002,
mshkey,0
mshape,1,3D
vmesh,all
nsel,s,loc,x,0,0.0015
nsel,r,loc,y,0.001,0.002
nsel,r,loc,z,-0.0004,0
nrefine,all,3

x_center=0.0001
y_center=y0+0.0015
然后通过gui方式调用函数编辑器定义要加载的热流密度函数,函数的形式为
QC*exp(-2*(({X}-x_center)^2+({Y}-y_center)^2)/(rb^2)),保存后退出,利用函数加载器加载这个函数,在弹出的对话框中定义Table Parameter Name为
laser,然后将函数式中的参数分别定义为QC=QC,x_center=x_center,
y_center=y_center,rb=rb
光斑的移动采用循环编制,每一次移动一个光斑的位置.在加载区域的选择上,由于圆形区域不好选择,所以采用圆形区域的外接正方形区域来近似.
再输入第二部分命令流
/sol
antype,4
trnopt,full
tunif,27
*do,i,1,10
timint,on
autots,on
tim=tim+0.04
time,tim
deltim,0.0001,0.0001,0.01
kbc,1
outres,all,all
x_center=x0+(i-1)*2*0.0001
y_center=y0+0.0015
*set,laser(4,0,1),x_center
nsel,s,loc,x,x_center,x_center+0.0003
nsel,r,loc,y,y_center-0.0003,y_center+0.0003
nsel,r,loc,z,0
sf,all,hflux,%laser%
allsel,all
nsubst,5
solve
*enddo

但是却说我的antype有问题

请问有高手能指导一下吗

/post1
set,all
etable,melty,temp,
esel,s,etab,melty,800
finish

/sol
antype,,rest
ekill,all
esel,all
finish

/post1
set,all
esel,s,live
plnsol,temp

lixiaoyu0323 发表于 2009-12-22 17:04:02

后面那个单元杀死部分是正确的不,最近也在弄这个单元杀死,没找到什么资料,很棘手,要实现的功能大概也就是达到一定温度,然后移除材料

lixiaoyu0323 发表于 2009-12-22 17:07:35

/solu
antype,trans,new
nlgeom,on
timint,on
trnopt,full
tunif,293
nropt,auto
kbc,1
autos,on
outres,,all
v=0.005
rb=0.002
tinc=rb/v
U=25   
I=180   
ef=0.75!
p=25*180*ef!
r=0.006   
qmax=p/(3.14159*r**2)
max_time=length/rb+1   
max_x=length/rb+1      
max_y=width/rb+1   
*dim,flux2,table,max_x,max_y,max_time,x,y,time
*do,k,1,max_time,1
*do,i,1,max_x,1
flux2(i,0,k)=(i-1)*rb
*enddo
*do,j,1,max_y,1
flux2(0,j,k)=(j-1)*rb
*enddo
*do,i,1,max_x,1
*do,j,1,max_y,1
xcenter=v*(k-1)*tinc
ycenter=0
distance=sqrt(((i-1)*rb-xcenter)**2+((j-1)*rb-ycenter)**2)
*if,distance,le,r,then
flux2(i,j,k)=qmax/EXP(3*DISTANCE**2/(R**2))
*else
flux2(i,j,k)=0
*endif
*enddo
*enddo
flux2(0,0,k)=(k-1)*tinc
页: [1]
查看完整版本: 材料移除生死单元小问题