tjadri_cb 发表于 2008-5-5 21:07:42

【求助】焊接残余应力,问题出在那?

在下做了一个平面模型,用来模拟多层多道焊接的残余应力,现在出现以下问题:
1、高斯热源加上以后,温度结果不对,高达几万摄氏度,我估计是热流密度Qmax计算或受热时间有问题。为了方便,单层焊缝只做了单道处理,仅通过调整受热时间来模拟多道焊接。
2、材料弹模一旦随温度变化,计算就不收敛,我觉得可能是单元应变过大导致,所以现在暂时取为完全弹性了。
请各位兄弟高手帮我看看,想想法子。论文进度很慢,急呀。非常感谢了!

finish
/clear
/prep7
!参数定义
l1=0.5*2.0
b=0.002
th=0.1
ax=0.05
dh=0.005
!几何构造
nlayer=th/dh
csys,0
k,1,0,0,0
k,2,0,th,0
k,3,b/2,0,0
k,4,b/2+ax,th,0
k,5,l1/2,0,0
k,6,l1/2,th,0
a,1,3,4,2
a,3,5,6,4
allsel
wprota,0,90
*DO,ilayer,1,nlayer - 1
wpoffs,0,0,-dh
asbw,all
*ENDDO
wpcsys,0
allsel
nummrg,all
numcmp,all
!
*DIM,Comp,,nlayer,1
ALLSEl
*Get,narea,AREA,, COUNT
*DO,ilayer,1,nlayer
asel,s,loc,x,0,ax
asel,r,loc,y,(ilayer-1)*dh, ilayer*dh
*DO,iarea,1,narea
    *IF,ASEL(iarea),EQ,1,THEN
       *Get,nareamax, AREA,,NUM,MAX
       Comp(ilayer,1,1)= nareamax
    *ENDIF
*ENDDO
*ENDDO
!
et,1,13,4 ! 13号二维耦合单元, 同时具有温度和位移自由度
!
mptemp,1,20,500,1000,1500,2000
!钢
mpdata,ex,1,1,2.11e11,1.74e11,0.86e11,0.30e11,0.30e11
!焊材
mpdata,ex,2,1,2.11e11,1.74e11,0.86e11,0.30e11,0.30e11
!-钢
!tb,bkin,1,5
!tbtemp,20,1
!tbdata,1,370e6,2.11e10
!tbtemp,500,2
!tbdata,1,180e6,1.74e10
!tbtemp,1000,3
!tbdata,1,75e6,0.86e10
!tbtemp,1500,4
!tbdata,1,75e6,0.30e10
!tbtemp,2000,5
!tbdata,1,75e6,0.30e10
!-焊材
!tb,bkin,2,5
!tbtemp,20,1
!tbdata,1,370e6,2.11e10
!tbtemp,500,2
!tbdata,1,180e6,1.74e10
!tbtemp,1000,3
!tbdata,1,75e6,0.86e10
!tbtemp,1500,4
!tbdata,1,75e6,0.30e10
!tbtemp,2000,5
!tbdata,1,75e6,0.30e10
!热焓
MPTEMP, 1,25, 400, 800,1200,1300,1350
MPTEMP, 7,1397,1412,1423,1430,1435,1439
MPTEMP,13,1452,1464,1600,2000
MPDATA,ENTH,1, 1,1.02E+09,2.45E+09,4.09E+09,5.93E+09,6.41E+09,6.66E+09
MPDATA,ENTH,1, 7,6.92E+09,7.04E+09,7.17E+09,7.21E+09,7.36E+09,7.43E+09
MPDATA,ENTH,1,13,7.76E+09,8.32E+09,8.97E+09,1.08E+10
MPDATA,ENTH,2, 1,1.02E+09,2.45E+09,4.09E+09,5.93E+09,6.41E+09,6.66E+09
MPDATA,ENTH,2, 7,6.92E+09,7.04E+09,7.17E+09,7.21E+09,7.36E+09,7.43E+09
MPDATA,ENTH,2,13,7.76E+09,8.32E+09,8.97E+09,1.08E+10
mpplot,ENTH,1mpplot,ENTH,1
!表面散热系数
mp,HF,1,12.06,1.06E-2,3.0E-5,2.0E-8,5.0E-23
mp,HF,2,12.06,1.06E-2,3.0E-5,2.0E-8,5.0E-23
! 比热
mp,c,1,502
mp,c,2,502
! 热膨胀系数
mp,alpx,1,1.78e-5
mp,alpx,2,1.78e-5
! 导热系数
mp,kxx,1,16.3
mp,kxx,2,16.3
! 材料密度(假设为常值)
mp,dens,1,7850
mp,dens,2,7850
! 泊松比(假设为常值)
mp,nuxy,1,0.29
mp,nuxy,2,0.29
! 由于该13号单元还有磁自由度, 此处假设一磁特性, 但并不影响我们所关心的结果
mp,murx,1,1
mp,murx,2,1
! 假设焊材焊上去后的初始温度是1500℃
mp,reft,1,20
mp,reft,2,1500
!
!网格划分
lsel,s,loc,x,ax,l1
lsel,u,loc,x,l1/2.0
lsel,u,loc,y,th-dh*0.9,th
lesize,all,,,30,8.0
lsel,s,loc,x,ax,l1
lsel,u,loc,x,l1/2.0
lsel,r,loc,y,th-dh*0.9,th
lesize,all,,,30,1.0/8.0
lsel,s,loc,x,l1/2.0
lesize,all,,,2
lsel,s,loc,x,0,ax
lsel,u,loc,x,0.0
asel,s,loc,x,ax,l1
lsla,u
lesize,all,0.0025
lsel,s,loc,x,0.0
lesize,all,,,2
asel,s,loc,x,ax,l1
lsla,s
lsel,u,loc,x,ax,l1
lsel,u,loc,x,l1/2.0
lesize,all,,,2
asel,s,loc,x,0,ax
asel,inve
aatt,1,,1
MSHAPE,0,2D
MSHKEY,1
amesh,all
asel,inve
MSHKEY,0
aatt,2,,1
amesh,all
!外部结构边界
nsel,s,loc,x,l1/2.0
d,all,ux
nsel,r,loc,y,0.0
d,all,uy
!外部温度边界
lsel,s,loc,x,l1/2.0
lsel,a,loc,y,0.0
lsel,a,loc,y,th
SFL,ALL,CONV,-1,,20
!........
!斜边
asel,s,loc,x,ax,l1
lsla,s
lsel,u,loc,x,ax,l1
SFL,all,CONV,-1,,20
!........
asel,s,loc,x,0,ax
esla,s
ekill,all
max_tem=1500 ! 按照前面假设,焊料的初始温度为1500℃
dt1=1e-3   ! 用于建立初始条件的一个很小的时间段
vec=6.00   ! 焊接速度
dt=10.0/vec! 焊接一个单元所需的时间(假定单元厚度0.010m=2*rad)
dx=0.010   ! 假设单道焊缝的最大宽度(厚度5mm)
t=0          ! 起始时间
pi=3.1415926
rad=0.005    ! 斑点半径
I=600      ! 焊接电流
U=32         ! 焊接电弧电压
effcient=0.8 ! 焊接热效率η
Qmax=3.0*I*U*effcient/(pi*rad**2)*0.01 !最大热流高斯密度
!每层所需时间
*DIM,tlayer,,nlayer,1
*DIM,yCenter,,nlayer,1
*DIM,xCenter,,nlayer,1
ALLSEL
*DO,ilayer,1,nlayer
ilength=b+0.5*(ax-b)*ilayer*dh/th
tlayer(ilayer)=ilength*dt/dx
yCenter(ilayer)=ilayer*dh-0.5*dh
xCenter(ilayer)=0.0
*ENDDO
!.......
*dim,flux2,table,20,20,nlayer*5,x,y,time
*do,k,1,nlayer*5,1
*do,i,1,20,1
   flux2(i,0,k)=(i-1)*ax/20.0
*enddo
   
*do,j,1,20,1
   flux2(0,j,k)=(j-1)*th/20.0
*enddo
!........
*IF,MOD(k,5),EQ,1,THEN
    Realtime=dt1+NINT((k-MOD(k,5))/5)*(100.0+dt)   
*ENDIF
*IF,MOD(k,5),EQ,2,THEN
    Realtime=2.0*dt1+NINT((k-MOD(k,5))/5)*(100.0+dt)   
*ENDIF
*IF,MOD(k,5),EQ,3,THEN
    Realtime=dt+NINT((k-MOD(k,5))/5)*(100.0+dt)   
*ENDIF
*IF,MOD(k,5),EQ,4,THEN
    Realtime=dt+dt1+NINT((k-MOD(k,5))/5)*(100.0+dt)
*ENDIF
*IF,MOD(k,5),EQ,0,THEN
    Realtime=(NINT((k-MOD(k,5))/5))*(100.0+dt)
*ENDIF
ty=NINT((k-MOD(k,5))/5)+1
*IF,k,EQ,nlayer*5,THEN
    ty = 20
*ENDIF
*do,i,1,20,1
    *do,j,1,20,1
      xcent=0.0      
      ycent=yCenter(ty)            !取整 判断时间
      distance=sqrt(((i-1)*ax/20.0-xcent)**2+((j-1)*th/20.0-ycent)**2)
      *if,distance,le,rad,then
      *IF,MOD(k,5),EQ,0,THEN
          flux2(i,j,k)= 0
      *ELSEIF,MOD(k,5),EQ,4,THEN
          flux2(i,j,k)= 0
      *ELSE
          flux2(i,j,k)=Qmax/exp(3*distance**2/(rad**2))
      *ENDIF
      *else
      flux2(i,j,k)=0
      *endif
    *enddo
*enddo
flux2(0,0,k)=Realtime
*enddo
!.......
finish
!
/solu
antype,4 ! 瞬态分析
trnopt,full
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=5
*do,ilayer,1, 2!nlayer
iactive=Comp(ilayer,1,1)
asel,s,area,,iactive
esla,s
ealive,all
esel,s,live
eplot
esel,all
!边界处理
asel,s,loc,x,ax,l1
lsla,s
lsel,u,loc,x,ax,l1   !选斜线
asel,s,area,,iactive
lsla,r
!删焊接倾斜对流边界
SFLDELE,all,CONV
lsla,s
!加水平对流边界
lsel,r,loc,y,ilayer*dh*0.9, ilayer*dh*1.1
SFL,all,CONV,-2,,20
!删焊接后变换水平边界
lsla,s
lsel,r,loc,y,(ilayer-1)*dh*0.9, (ilayer-1)*dh*1.1
*IF,ilayer,NE,1,THEN
    SFLDELE,all,CONV
*ENDIF
allsel
! 下面的求解用于建立温度的初始条件
t=t+dt1
time,t
nsubst,1
asel,s,area,,iactive
ESLA,s
NSLE,s
SF,all,hflux,%flux2%
allsel
solve
!......
t=t+dt1
time,t
nsubst,1
allsel
solve
!.......
ALLSEL
t=t+dt-2*dt1
time,t
allsel
nsubst,nsub1
solve
SFDELE,all,HFLUX
t=t+100
time,t
nsubst,nsub2
solve   
*enddo
页: [1]
查看完整版本: 【求助】焊接残余应力,问题出在那?