生死单元焊接分析实例,热结构耦合分析探讨!(附apdl)
最近在做焊接模拟分析,做了一点东西和大家一起分享一下,还有很多问题是需要和大家一起讨论的!
题目:在两个物体之间焊接一圈焊缝,分析冷却后的结构变形和应力!模型见apdl(为了计算速度我简化了)
solution1:热结构耦合分析可以采用直接方法,即选用耦合单元solid5,它同时包括了温度和位移自由度,同时附加了电磁特性,这里我们不关注。我们采用瞬态分析的方法,一开始把焊接单元全部杀死,这里的杀死意味着单元的刚度等属性被赋予一个小量(默认的是1e-6)。然后随着焊接过程依次激活单元,加载温度,认为焊料温度为1500度,也是其材料的参考温度。焊完一圈后冷却降温!但遗憾的是这样的分析是基于线弹性理论的,solid5单元中无法进行塑性分析。
以下是直接法的apdl程序:
/title,Weld Analysis by \"Element Birth and Death\"
/FILNAME,welding_direct,1
/prep7
et,1,5
! 1号材料是钢
! 2号材料是焊料MG-51T
!假设他们的刚度随温度是变化的。
MPTEMP,1,0
MPTEMP,2,500
MPTEMP,3,1000
MPTEMP,4,1500
MPDATA,EX,1,,2E+005
MPDATA,EX,1,,1.5e5
MPDATA,EX,1,,7e4
MPDATA,EX,1,,1e4
MPDATA,PRXY,1,,0.3
MPDATA,PRXY,1,,0.3
MPDATA,PRXY,1,,0.3
MPDATA,PRXY,1,,0.3
MPDATA,EX,2,,2E+005
MPDATA,EX,2,,1.5e5
MPDATA,EX,2,,7e4
MPDATA,EX,2,,1e4
MPDATA,PRXY,2,,0.3
MPDATA,PRXY,2,,0.3
MPDATA,PRXY,2,,0.3
MPDATA,PRXY,2,,0.3
! 材料密度(假设为常值)
mp,dens,1,8e-3
mp,dens,2,8e-3
! 热膨胀系数(假设为常值)
mp,alpx,1,1.2e-5
mp,alpx,2,1.2e-5
! 热传导系数(假设为常值)
mp,kxx,1,0.03
mp,kxx,2,0.03
! 比热(假设为常值)
mp,c,1,0.6
mp,c,2,0.6
! 由于该5号单元还有磁自由度, 此处假设一磁特性, 但并不影响我们所关心的结果
mp,murx,1,1e-10
mp,murx,2,1e-10
mp,rsvx,1,1e-10
mp,rsvx,2,1e-10
! 假设焊料焊上去后的初始温度是1500℃
mp,reft,1,25
mp,reft,2,1500
! 下面建立几何模型
csys,0
k,1,7,0,0
k,2,7,0,4
k,3,56,0,4
k,4,56,0,11
k,5,60,0,11
k,6,60,0,8
k,7,60,0,0
k,8,63,0,8
k,9,63,0,11
k,12,62,0,8
k,13,62,0,-12
k,14,60,0,-12
k,10,0,0,0
k,11,0,0,1
a,1,2,3,4,5,6,7
a,5,6,8,9
a,7,6,12,13,14
ET,2,SHELL63
! 划分单元
esize,2
type,2
mat,1
amesh,1,3,2
mat,2
amesh,2
TYPE, 1
EXTOPT,ESIZE,25,0,
EXTOPT,ACLEAR,1
EXTOPT,ATTR,1,1,1
vrotat,all,,,,,,10,11,,2
cswpla,11,1
aclear,all
etdel,2
asel,s,,,18,33,15
da,all,ux,0
da,all,uy,0
da,all,uz,0
/solu
antype,4 ! 瞬态分析
trnopt,full
OUTRES,ALL,1
!
! 假设模型表面施加对流,冷却时也是!
allsel
sfa,all,1,conv,1.1e-5,25
! 由于第2,5体是焊料所在区域,因此,首先将该区域的单元\"死\"掉
vsel,s,,,2,5,3
eslv
*get,wnum,elem,,count
*dim,eorder,,wnum
*dim,ne,,wnum
*dim,ney,,wnum
*get,emax,elem,,num,max
*get,emin,elem,,num,min
mine=0
! 下面的DO循环用于将焊料区的单元按柱坐标csys11y方向排序,以便后面
! 模拟焊料逐步\"生长\"的过程
ii=0
*do,i,emin,emax
*if,esel(i),eq,1,then
ii=ii+1
ne(ii)=i
*endif
*enddo
*do,i,1,wnum
*get,ney(i),elem,ne(i),cent,y
*enddo
*do,i1,1,wnum
miny=1000
*do,i,1,wnum
*if,ney(i),lt,miny,then
miny=ney(i)
mine=ne(i)
j=i
*else
*if,ney(i),eq,miny,then
miny=ney(i)
mine=ne(i)
j=i
*endif
*endif
*enddo
eorder(i1)=mine
ney(j)=1001
*enddo
max_tem=1500 ! 按照前面假设,焊料的初始温度为1500℃
dt=1! 焊接8个单元所需的时间
t=0 ! 起始时间
ekill,all !将焊接单元先杀死
esel,s,live
ic,all,temp,25
timint,0,struct
timint,1,therm
timint,0,mag
tintp,0.005,,,1,0.5,0.2
allsel
save,welding_direct,db
nsubst,1
*do,i,1,wnum,8
ddele,all,temp !删除上一步的温度载荷
!一次激活8个单元,作为焊料出生。
ealive,eorder(i)
ealive,eorder(i+1)
ealive,eorder(i+2)
ealive,eorder(i+3)
ealive,eorder(i+4)
ealive,eorder(i+5)
ealive,eorder(i+6)
ealive,eorder(i+7)
*do,j,1,8 !此步单元的温度加载,在每个出生单元的8个节点上施加温度
d,nelem(eorder(i),j),temp,max_tem
d,nelem(eorder(i+1),j),temp,max_tem
d,nelem(eorder(i+2),j),temp,max_tem
d,nelem(eorder(i+3),j),temp,max_tem
d,nelem(eorder(i+4),j),temp,max_tem
d,nelem(eorder(i+5),j),temp,max_tem
d,nelem(eorder(i+6),j),temp,max_tem
d,nelem(eorder(i+7),j),temp,max_tem
*enddo
t=t+dt
time,t
nsubst,1
solve
*enddo
!冷却过程分析
time,500
ddele,all,temp
nsubst,5
solve
time,5000
nsubst,2
solve
finish
因篇幅问题不能全部显示,请点此查看更多更全内容