焊接温度场ansys模拟,输入程序一直是室温,求指导
/prep7
et,1,solid70
v=0.002
length=0.02
l_number=length/v !沿焊缝方向单元段数
numcmp,all !压缩所定义的编号
mptemp,1,0,300,600,1000,1300,2000
mpdata,dens,1,1,7859,7770,7659,7600,6750,6750
mpdata,dens,2,1,7859,7770,7659,7600,6750,6750
mpdata,c,1,1,450,514,967,1370,2800,2000
mpdata,c,2,1,450,514,967,1370,2800,2000
mpdata,kxx,1,1,67,53,39,31,20,20
mpdata,kxx,2,1,67,53,39,31,20,20
mat,1
/solu
autots,on
outpr,nsol,all
outres,nsol,all
kbc,1
antype,trans
timint,off
nsubst,4
d,all,temp,20
time,0.01
solve
esel,s,mat,,1
ekill,all
esel,all
time,0.02
solve
timint,on,ther
ddele,all,temp
TIME=0.02
*dim,qq,array,8 !定义数组,存储单元节点热流密度
*dim,e_node,array,20 !定义数组,存储单元所属节点编号
*get,elem_max,elem,0,num,max !获取最大单元号
*get,elem_min,elem,0,num,min!获取最小单元号
*get,node_max,node,0,num,max!获取最大节点号
*get,node_min,node,0,num,min!获取最小节点号
*dim,node_ave,array,node_max!定义数组,存储节点相邻单元数量
*do,j,node_min,node_max!计算节点相邻单元数量,循环开始
alls
*if,nsel(j),eq,1,then
nsel,s,,,j !选择节点J
esln,s !选择节点J相邻单元
*get,node_ave(j),elem,0,count !获取单元数量
*endif
*enddo!计算节点相邻单元数量,循环结束
alls
*do,kk,3,5 !计算三层焊接温度场,循环开始
r=0.006!电弧有效加热半径
*if,kk,eq,3,then!第一层焊缝的基本参数
q=6000*0.8 !输入热量
qmax=3*q/3.1415926/r/r!变量
XC=0.04
YC=0.00385
v_num=5!第一层焊缝的体号
time_inc=length/l_number/v !第一层焊缝时间增量
*endif
*if,kk,eq,4,then !第二层焊缝的基本参数
q=7000*0.8
qmax=3*q/3.1415926/r/r
*set,xc,0.041301
*set,yc,0.0085
v_num=3
time_inc=length/l_number/1.5/v
*endif
*if,kk,eq,5,then
q=8000*0.8
qmax=3*q/3.1415926/r/r
*set,xc,0.038699
*set,yc,0.0085
v_num=4
time_inc=length/l_number/2/v
*endif
*DO,J,1,l_number !从头至尾激活第KK 层焊缝,开始
SFEDELE,ALL,ALL,HFLUX !删除以前施加的热流密度
VSEL,S,,,v_num !选择第KK 层焊缝所对应的体
ESLV,S,1 !选择体上单元即第 KK 层焊缝单
元
nsel,r,loc,z,(j-1)*length/l_number+0.0005,j*length/l_number-0.0005!选择第 J 行单元的中间节点
esln,r !选择第KK 层第J 行单元
ealive,all !激活单元
alls
zc=(j-0.5)*length/l_number !第 KK 层第J 行单元质心Z 坐标
*do,i,elem_min,elem_max !计算施加单元热流密度,循环开
*if,esel(i),eq,1,then
esel,s,,,i !选择第 I个单元
*do,k,1,8 !计算第I单元前8个节点热流密度
*get,e_node(k),elem,i,node,k !获取第 I个单元第 K 个节点的编号
ss=e_node(k)
distance=sqrt((nx(ss)-xc)*(nx(ss)-xc)+(ny(ss)-yc)*(ny(ss)-yc)+(nz(ss)-zc)*(nz(ss)-zc)) !!计算节点到热中心点(质心)的距离
eee=3*distance**2/r**2 !变量
*if,eee,lt,25,then
qq(k)=qmax*exp(-eee)/node_ave(e_node(k)) !第 K 个节点的热流密度
*else
qq(k)=0
*endif
*enddo
*if,qq(1)+qq(2)+qq(3)+qq(4),ne,0,then
sfe,i,1,hflux,,qq(1),qq(2),qq(3),qq(4) !在第 I 个单元第一个面上加热流密度
*endif
*if,qq(1)+qq(2)+qq(5)+qq(6),ne,0,then
sfe,i,2,hflux,,qq(1),qq(2),qq(6),qq(5)
*endif
*if,qq(6)+qq(2)+qq(3)+qq(7),ne,0,then
sfe,i,3,hflux,,qq(2),qq(3),qq(7),qq(6) !在第 I 个单元第三个面上加热流密度
*endif
*if,qq(1)+qq(4)+qq(5)+qq(7),ne,0,then
sfe,i,5,hflux,,qq(1),qq(4),qq(7),qq(5) !在第 I 个单元第五个面上加热流密度
*endif
*if,qq(5)+qq(6)+qq(7)+qq(8),ne,0,then
sfe,i,6,hflux,,qq(5),qq(6),qq(7),qq(8)
*endif
alls
*endif
*enddo
alls
asel,s,loc,z,0
asel,a,loc,z,length
asel,a,,,7
asel,a,,,8
asel,a,,,11
asel,a,,,13
asel,a,,,14
asel,a,,,15
asel,a,,,20
asel,a,,,23
asel,a,,,25
sfa,all,1,conv,30,20
alls
time=time+time_inc
nsubst,5,5,5
time,time
solve
*enddo
time=time+3600
time,time
sfedele,all,all,hflux
solve
*enddo
save