7god 发表于 2007-11-15 10:37:34

生死单元焊接分析实例,热结构耦合分析探讨!(附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

7god 发表于 2007-11-15 11:09:37

变形和温度的动画

[ 本帖最后由 7god 于 2007-11-15 11:42 编辑 ]

7god 发表于 2007-11-15 11:21:17

由于直接用耦合单元无法进行塑性分析,这里考虑第二种间接耦合的方法。
solution2
先对模型进行热瞬态分析,采用solid90单元,算完热分析后,用etchg转换90单元到186
杀死焊接单元,因为在焊接加温过程中焊料可认为是流体不提供刚度!
然后在加载焊接完(25步)后的温度场.
LDREAD,TEMP,25,1,, ,'welding_indirect','rth',
time,1
solve
在冷却过程中激活焊接单元,然后加载(26步)的冷却后温度场
ealive,all
LDREAD,TEMP,26,1,, ,'welding_indirect','rth',
time,2
solve
问题是我在第二步激活焊接单元后,非线性计算总是无法收敛,请高手指教!!!

7god 发表于 2007-11-15 13:07:55

此外,我想讨论workbench中的分析方法!

    一开始我是打算在workbench中做的,因为在workbench中处理模型有着优越性。但是workbench中是无法定义两个物体不同的参考温度。比如,焊料的参考温度是1500,而结构的参考温度是25。参考温度可以这样理解:结构在稳态温度场加载后节点上的温度减去参考温度就得到一个温差,这个温差根据热膨胀系数产生相应的应变。在workbench中只有一个唯一的环境温度设置(这样莫非就不能做焊接模拟了?),至少目前我不知道在workbench中怎么做。
    但是我简化了问题,做了一个类似的塑性分析。把参考温度都设为1500,然后让焊料部分温度保持25度,其余结构保持1500(纯粹为了和环境温度一致,不是实际温度!)
   需要说明的一点是,10.0版本中可以直接把结构载荷和温度载荷同时加在模型上,还用选用塑性非线性计算,我不知道workbench10.0里是怎么直接求解的? 如果是直接用耦合单元是不行的,因为据我了解,ansys经典中的solid5耦合单元是无法做塑性计算的。难道是他内部进行的间接耦合计算?从workbench11.0看,它取消了直接耦合的方式,采用间接耦合的方法,就是把热分析结果的温度场加载到模型上进行2次计算!

我附了一个dsdb文件,pfsr版主希望你进来看看,这是你要的!

jinqinghai 发表于 2007-11-15 13:23:47

Depth analysis, Good work!

pfsr 发表于 2007-11-16 00:29:45

V10也是间接耦合的,第一步用90单元,第二步用186单元。

我对于参考温度的理解,跟你的理解基本相同。但参考温度只有一个。在焊料连上结构后,结构的温度分布发生变化,从而产生应力应变。看你的描述,两者都在自己的参考温度下工作,就各自部分而言也就没有了应力应变,没必要考虑参考温度的问题。

我从来没做过焊接分析。但在Workbench中可以通过command来控制单元生死。

[ 本帖最后由 pfsr 于 2007-11-16 00:31 编辑 ]

7god 发表于 2007-11-16 10:00:24

回复 #6 pfsr 的帖子

要考虑温度的变化的,焊料从1500降到25,结构温度保持25,可以认为焊料收缩挤压结构变形,所以最好可以设置焊料的参考温度是1500,而结构的是25,这在ansys经典中可以用材料特性来做到
mp,reft,1,25
mp,reft,2,1500

此外,你说的command命令用的时候和经典中一样吗?还有我无法随时查看体面线等的编号之类的啊,比如要用到vsel之类的命令比较麻烦啊!

pfsr 发表于 2007-11-16 16:41:03

1. WB中的command跟classic中的yiyang
2. 选择几何体,可以借助于named slection
3. http://www.simwe.com/forum/thread-792737-1-1.html

TINYTOT 发表于 2008-2-29 11:06:34

想跟你学习下ansys的模拟焊接问题
qq54670455

yft117 发表于 2008-3-3 19:47:42

挺不错的,lz太强了

zj_ecsi 发表于 2008-3-8 15:08:38

首先我想说:

你的材料本构关系有很大的问题,焊接温度场及应力场模拟很关键的就是材料本构关系.

建议你先按线性材料计算,然后再考虑材料非线性,会容易一些.

另外,建议你使用abaqus,毕竟ansys的非线性不是很强.

做出结果是很容易的,物理过程是很关键的,估计你还要下大功夫!!加油!!

liuzongfahjx 发表于 2008-12-18 20:18:11

没有做过,路过顶一下

drehkolben 发表于 2009-5-21 15:57:00

好东西,学习了

leoathit 发表于 2009-6-30 21:20:17

学习学习。

yanli53 发表于 2009-7-3 09:06:14

我也是做焊接方向的!是好东西!这个问题应该继续讨论的:victory:很有帮助!

richway13 发表于 2009-8-12 11:25:09

强人啊,我都看不懂的饿

acailaogu 发表于 2009-9-2 18:52:18

占位,观望,学习

sd9366 发表于 2010-1-18 19:29:07

不错,好资料啊

chutianyao 发表于 2010-3-9 16:08:57

好东西留名

aiyouguai 发表于 2010-3-12 15:45:46

楼主在不??
能联系一下指导指导吗??
我有很多问题想要请教一下
页: [1] 2
查看完整版本: 生死单元焊接分析实例,热结构耦合分析探讨!(附apdl)