找回密码
 注册
Simdroid-非首页
查看: 2119|回复: 49

焊接模拟ansys实例

[复制链接]
发表于 2009-4-21 19:45:05 | 显示全部楼层 |阅读模式 来自 辽宁大连
!下面的命令流进行的是一个简单的二维焊接分析, 利用ANSYS单元生死和热-结构耦合分析功能进
!行焊接过程仿真, 计算焊接过程中的温度分布和应力分布以及冷却后的焊缝残余应力。  
finish
/clear
/filnam,1-2D element birth and death   
/title,Weld Analysis by "Element Birth and Death"  
/prep7  
/unit,si           !采用国际单位制  
!******************************************************  
et,1,13,4          !13号二维耦合单元, 同时具有温度和位移自由度  
et,2,13,4  
!1号材料是钢  
!2号材料是铝  
!3号材料是铜  
!铝是本次分析中的焊料, 它将钢结构部分和铜结构部分焊接起来  
!下面是在几个温度点下, 各材料的弹性模量  
mptemp,1,20,500,1000,1500,2000  
mpdata,ex,1,1,1.93e11,1.50e11,0.70e11,0.10e11,0.01e11  
mpdata,ex,2,1,1.02e11,0.50e11,0.08e11,0.001e11,0.0001e11  
mpdata,ex,3,1,1.17e11,0.90e11,0.30e11,0.05e11,0.005e11  
!假设各材料都是双线性随动硬化弹塑性本构关系  
!下面是各材料在各温度点下的屈服应力和屈服后的弹性模量  
tb,bkin,1,5  
tbtemp,20,1  
tbdata,1,1200e6,0.193e11  
tbtemp,500,2  
tbdata,1, 933e6,0.150e11  
tbtemp,1000,3  
tbdata,1, 435e6,0.070e11  
tbtemp,1500,4  
tbdata,1, 70e6,0.010e11  
tbtemp,2000,5  
tbdata,1, 7e6,0.001e11  
!  
tb,bkin,2,5  
tbtemp,20,1  
tbdata,1,800e6,0.102e11  
tbtemp,500,2  
tbdata,1,400e6,0.050e11  
tbtemp,1000,3  
tbdata,1, 70e6,0.008e11  
tbtemp,1500,4  
tbdata,1, 1e6,0.0001e11  
tbtemp,2000,5  
tbdata,1,0.1e6,0.00001e11  
!  
tb,bkin,3,5  
tbtemp,20,1  
tbdata,1,900e6,0.117e11  
tbtemp,500,2  
tbdata,1,700e6,0.090e11  
tbtemp,1000,3  
tbdata,1,230e6,0.030e11  
tbtemp,1500,4  
tbdata,1, 40e6,0.005e11  
tbtemp,2000,5  
tbdata,1, 4e6,0.0005e11  
!  
!材料密度(假设为常值)  
mp,dens,1,8030  
mp,dens,2,4850  
mp,dens,3,8900  
! 热膨胀系数(假设为常值)  
mp,alpx,1,1.78e-5  
mp,alpx,2,9.36e-6  
mp,alpx,3,1.66e-5  
!泊松比(假设为常值)  
mp,nuxy,1,0.29  
mp,nuxy,2,0.30  
mp,nuxy,3,0.30  
!热传导系数(假设为常值)  
mp,kxx,1,16.3  
mp,kxx,2,7.44  
mp,kxx,3,393  
!比热(假设为常值)  
mp,c,1,502  
mp,c,2,544  
mp,c,3,385  
!热膨胀系数(假设为常值)  
!由于该13号单元还有磁自由度, 此处假设一磁特性, 但并不影响我们所关心的结果  
mp,murx,1,1  
mp,murx,2,1  
mp,murx,3,1  
!假设焊料(铝)焊上去后的初始温度是1500℃  
mp,reft,1,20  
mp,reft,2,1500  
mp,reft,3,20  
!******************************************************  
!下面建立几何模型  
csys,0  
k,1,0,0,0  
k,2,0.5,0,0  
k,3,1,0,0        !长1米
k,4,0,0.3,0      !厚度0.3米(二维中叫做宽度)
k,5,0.35,0.3,0  
k,6,0.65,0.3,0  
k,7,1,0.3,0  
a,1,2,5,4  
a,2,6,5  
a,2,3,7,6  
!!!!!!!!!!!!!!!!!!!!!!!!!!划分网格!!!!!!!!!!!!!!!!!  
esize,0.025  
type,2  
mat,2  
amesh,2
!
esize,0.05       !网格划分出现问题
type,1  
mat,1  
amesh,1  
!
mat,3  
amesh,3  
eplot  
!  
/solu  
antype,4          ! 瞬态分析  
trnopt,full  
!!!!!!!!!!!!!!!!!!!!!!!!在模型的左边界加位移约束!!!!!!!!!!!!!!!!!!!!!!!!!!!  
nsel,all  
*get,minx,node,,mnloc,x  
nsel,s,loc,x,minx  
d,all,ux,0  
*get,miny,node,,mnloc,y  
nsel,r,loc,y,miny  
d,all,uy,0  
!*****假设模型的左右边界处温度始终保持在20摄氏度左右*****
!其他边界条件如对流和辐射等均可施加,此处因为只是示意而已,故只施加恒温边界条件  
nsel,all  
*get,minx,node,,mnloc,x  
nsel,s,loc,x,minx  
d,all,temp,20  
nsel,all  
*get,maxx,node,,mxloc,x  
nsel,s,loc,x,maxx  
d,all,temp,20  
!!!!!!!!!!!!!!!由于第2个面是焊接所在区域,因此首先将该区域的单元“杀死”!!!!!!!!!!!!!!!!  
nna=2  
esel,all  
*get,emax,elem,,num,max  
asel,s,area,,nna  
esla  
*get,nse,elem,,count  
*dim,ne,,nse  
*dim,nex,,nse  
*dim,ney,,nse  
*dim,neorder,,nse  
mine=0  
!**********************************************      
!下面的do循环用于将焊料区的单元按其形心y坐标排序
!以便后面模拟焊料由下向上逐步“生长”过程  
*do,i1,1,nse  
  esel,u,elem,,mine  
  *get,nse1,elem,,count  
  ii=0  
  *do,i,1,emax  
    *if,esel(i),eq,1,then  
      ii=ii+1  
      ne(ii)=i  
    *endif  
  *enddo  
  *do,i,1,nse1  
    *get,ney(i),elem,ne(i),cent,y  
    *get,nex(i),elem,ne(i),cent,x  
  *enddo  
  miny=1e20  
  minx=1e20  
  *do,i,1,nse1  
    *if,ney(i),lt,miny,then  
      miny=ney(i)  
      minx=nex(i)  
      mine=ne(i)  
    *else  
      *if,ney(i),eq,miny,then  
        *if,nex(i),lt,minx,then  
          miny=ney(i)  
          minx=nex(i)  
          mine=ne(i)  
        *endif  
      *endif  
    *endif  
  *enddo  
  neorder(i1)=mine  
*enddo  
!**************************************************************
max_tem=1500   !按照前面假设,焊料的初始温度为1500℃  
dt1=1e-3       !用于建立初始条件的一个很小的时间段  
dt=5           !焊接一个单元所需的时间  
t=0            !起始时间  
esel,all  
eplot  
/auto,1  
/replot  
*do,i,1,nse  
  ekill,neorder(i)  
  esel,s,live  
  eplot  
*enddo  
allsel,all  
outres,all,all  
ic,all,temp,20  
kbc,1  
timint,0,struct  
timint,1,therm  
timint,0,mag  
tintp,0.005,,,1,0.5,0.2  
!  
nsub1=2  
nsub2=40
!*************************************************
*do,i,1,nse  
  ealive,neorder(i)  
  esel,s,live  
  eplot  
  esel,all  
  !******下面的求解用于建立温度的初始条件******
  t=t+dt1  
  time,t  
  nsubst,1  
  *do,j,1,4  
    d,nelem(neorder(i),j),temp,max_tem  
  *enddo  
  solve  
  !****下面的求解用于保证初始的升温速度为零****
  t=t+dt1  
  time,t  
  solve  
  !*********下面的步骤用于求解温度分布**********
  *do,j,1,4  
    ddele,nelem(neorder(i),j),temp  
  *enddo  
  t=t+dt-2*dt1  
  time,t  
  nsubst,nsub1  
  solve  
*enddo  
t=t+50000     !*********下面的步骤用于冷却过程求解*****
time,t  
nsubst,nsub2  
solve
save  
finish  
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!后处理过程!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/post1   
!**************下面的一系列命令用于生成应力的动画文件*******  
/seg,dele  
/cont,1,15,0,1200e6/16,1200e6  
/dscale,1,1.0  
avprin,0,0  
avres,1  
/seg,multi,stress1,0.1  
esel,all  
*do,i,1,nse  
  esel,u,elem,,neorder(i)  
*enddo  
*do,i,1,nse  
  esel,a,elem,,neorder(i)  
  set,(i-1)*3+1,1  
  plnsol,s,eqv  
  *do,j,1,nsub1  
    set,(i-1)*3+3,j  
    plnsol,s,eqv  
  *enddo  
*enddo  
*do,i,1,nsub2  
  set,(nse-1)*3+4,i  
  plnsol,s,eqv  
*enddo  
/seg,off,stress1,0.1  
/anfile,save,stress1,avi  
!**********下面的一系列命令用于生成温度的动画文件************  
/seg,dele  
/cont,1,15,0,1500/16,1500  
/dscale,1,1.0  
avprin,0,0  
avres,1  
/seg,multi,temp1,0.1  
esel,all  
*do,i,1,nse  
  esel,u,elem,,neorder(i)  
*enddo  
*do,i,1,nse  
  esel,a,elem,,neorder(i)  
  set,(i-1)*3+1,1  
  plnsol,temp  
  *do,j,1,nsub1  
    set,(i-1)*3+3,j  
    plnsol,temp  
  *enddo  
*enddo  
*do,i,1,nsub2  
  set,(nse-1)*3+4,i  
  plnsol,temp  
*enddo  
/seg,off,temp1,0.1  
/anfile,save,temp1,avi  
finish
发表于 2009-5-10 14:01:32 | 显示全部楼层 来自 江苏无锡
Simdroid开发平台
顶一个
回复 不支持

使用道具 举报

发表于 2009-5-13 21:59:30 | 显示全部楼层 来自 重庆
还是初学者 只能看懂一点点。谢谢楼主分享
回复 不支持

使用道具 举报

发表于 2009-5-21 15:00:54 | 显示全部楼层 来自 德国
好东西,学习了。
回复 不支持

使用道具 举报

发表于 2009-6-29 16:20:02 | 显示全部楼层 来自 湖北武汉
谢谢楼主了~~
回复 不支持

使用道具 举报

发表于 2009-7-3 09:08:34 | 显示全部楼层 来自 辽宁沈阳
有帮助!把例子记下了!自己学习一下!
回复 不支持

使用道具 举报

发表于 2009-7-6 20:15:03 | 显示全部楼层 来自 河北石家庄
这个例子挺好!
楼主能给留个联系方式吗QQ
还想请教些问题
回复 不支持

使用道具 举报

发表于 2009-7-17 22:39:15 | 显示全部楼层 来自 清华大学
太强劲了!谢谢
回复 不支持

使用道具 举报

发表于 2009-7-30 19:48:46 | 显示全部楼层 来自 清华大学
*do,i,1,emax  
    *if,esel(i),eq,1,then  
中的esel(i)是什么意思?
特别是if那一句,表示某个单元被选?
谢谢
回复 不支持

使用道具 举报

发表于 2009-8-12 11:06:35 | 显示全部楼层 来自 辽宁沈阳
楼主能否将它写成操作的步骤,我是新手,刚开始学ANSYS,也是主要用它来模拟焊接过程的温度场和应力场,当什么事都是开头难啊,我现在是一头雾水,不知道从何下手!
留个QQ号:759650609,加为好友共同探讨一下呗!主要是向你学习学习,哈哈
回复 不支持

使用道具 举报

发表于 2009-8-12 19:40:27 | 显示全部楼层 来自 辽宁沈阳
顶一下,谢谢楼主了!
回复 不支持

使用道具 举报

发表于 2009-8-22 21:49:35 | 显示全部楼层 来自 北京
强,希望有机会交流一下。
回复 不支持

使用道具 举报

发表于 2009-9-2 18:37:03 | 显示全部楼层 来自 浙江杭州
不错,,有没有三维的,使用表面效应单元的
回复 不支持

使用道具 举报

发表于 2009-9-13 08:43:17 | 显示全部楼层 来自 上海
强,希望有机会交流一下。
回复 不支持

使用道具 举报

发表于 2009-10-20 00:05:08 | 显示全部楼层 来自 湖北武汉
好东西 可以学习
回复 不支持

使用道具 举报

发表于 2009-11-2 17:14:55 | 显示全部楼层 来自 黑龙江大庆
3# kdlk02
回复 不支持

使用道具 举报

发表于 2010-1-27 08:26:29 | 显示全部楼层 来自 北京
好东西,正需要
回复 不支持

使用道具 举报

发表于 2010-1-31 15:36:32 | 显示全部楼层 来自 重庆
楼主,你真是N人啊
回复 不支持

使用道具 举报

发表于 2010-3-8 21:16:10 | 显示全部楼层 来自 北京海淀
谢谢楼主了~~
回复 不支持

使用道具 举报

发表于 2010-3-9 09:41:15 | 显示全部楼层 来自 北京海淀
太厉害了,希望以后多交流
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 17:21 , Processed in 0.052134 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表