这是我仿照网上做的一个采模拟移动高斯热源焊接圆管的命令流,本人初学者,愿意向高手请教。不知道为什么,运行到最后就自动关闭ansys了,愁死我了。
/prep7
/units,si
*afun,deg
inradius=0.05
outradius=0.06
degree=90
length=0.15
pi=3.1415926
lsize=2
v=2
tinc=1
I=160
U=23
efficient=0.78
r=0.0045
kk=0.85
Qm=3*I*U*efficient/(pi*r**2)
Qmax=Qm*kk
et,1,solid70
mp,dens,1,2640
mptemp,1,100,200,400,600,800,1000
mptemp,7,1200
mpdata,c,1,1,660.4,836,973.9,1061.7,1086.8,1103.5
mpdata,c,1,7,1128.6
mpdata,enth,1,1,0,7.583e4,2.592e5,4.619e5,6.875e5,9.528e5
mpdata,enth,1,7,1.278e6
mptemp,1,20,100,200,400,600,800
mptemp,7,1000,1200
mpdata,kxx,1,1,1.38,1.53,1.65,1.86,2.02,2.15
mpdata,kxx,1,7,2.29,2.43
csys,1
k,1,inradius,0,0
k,2,inradius,degree,0
k,3,inradius,degree,length
k,4,inradius,0,length
k,5,outradius,0,0
k,6,outradius,degree,0
k,7,outradius,degree,length
k,8,outradius,0,length
v,1,2,3,4,5,6,7,8
/view,1,1,1,1
lesize,5,,,10
lesize,6,,,90
lesize,8,,,60
mshkey,1
vatt,1,1,1
vmesh,1
save
*dim,flux2,table,45,60,45,y,z,time
*do,k,1,45,1
*do,i,1,45,1
flux2(i,0,k)=(i-1)*lsize
*enddo
*do,j,1,60,1
flux2(0,j,k)=(j-1)*length/60
*enddo
*do,i,1,45,1
*do,j,1,60,1
ycenter=v*(k-1)*tinc
zcenter=0
distance=sqrt((((i-1)*lsize-ycenter)*pi*0.06/180)**2+((j-1)*0.005-zcenter)**2)
*if,distance,le,r,then
flux2(i,j,k)=Qmax/exp(-distance**2/(r**2))
*else
flux2(i,j,k)=0
*endif
*enddo
*enddo
flux2(0,0,k)=(k-1)*tinc
*enddo
/SOLU
antype,trans
tunif,15
kbc,1
timint,on
autots,on
asel,s,loc,z,0
asel,a,loc,z,length
asel,a,loc,y,0
asel,a,loc,y,90
sf,all,conv,110,27 !在体的上表面和周边加对流
allsel
*do,t,1e-6,45,tinc
time,t
autots,0
deltim,,,,1
kbc,0
outres,all,all
tsres,erase
sf,all,hflux,%flux2%
solve
*enddo
Finish |