24小时热门版块排行榜    

查看: 2603  |  回复: 3

nightrain2

铜虫 (初入文坛)

[求助] 焊接残余应力场问题已有1人参与

请大家指点,

刚开始学做焊接和残余应力场问题。采用间接费进行 热场与应力场的分析,命令流执行完成后,没有出现 .rth 文件,无法进行应力场的分析,求大家指点。
命令流如下:


!圆管焊接模拟


/CLEAR,
/config,nres,5000
/title,weld
/prep7
/unit,si   !单位:  International system (m, kg, s, K)
/PREP7
*SET,RAD,0.250
*SET,THICK,0.008
*SET,HIGH,1  !管高度,焊缝长度
*SET,enum,8
*SET,div1,2   !沿厚度方向的单元层数
!*SET,E,2.06e5  !弹性模量
!*SET,velocity,1   !焊接速度 mm/s

RAD2=RAD-THICK
esize=THICK/div1



max_tem=1500               ! 按照前面假设,焊料的初始温度为1500℃
dt1=1e-3                   ! 用于建立初始条件的一个很小的时间段
dt=2                       ! 焊接一个单元所需的时间
t=0                        ! 起始时间
tcool=500                 !焊缝冷却时间

!*****单元*****
ET,1,SOLID70
ET,4,SURF154


!*****材料属性*****
MPTEMP,,,,,,,,  
MPTEMP,1,20                       !温度数据
MPTEMP,2,300
MPTEMP,3,600
MPTEMP,4,1000  
MPTEMP,5,1300
MPTEMP,6,2000

  
MPDATA,EX,1,,2e11                  !弹性模量数据
MPDATA,EX,1,,1.96e11
MPDATA,EX,1,,1.45e11
MPDATA,EX,1,,2.1e10
MPDATA,EX,1,,2e7
MPDATA,EX,1,,1e6

MPDATA,PRXY,1,,0.3
MPDATA,PRXY,1,,0.3  
MPDATA,PRXY,1,,0.3  
MPDATA,PRXY,1,,0.3  
MPDATA,PRXY,1,,0.3
MPDATA,PRXY,1,,0.3

!下面是各材料在各温度点下的屈服应力和屈服后的弹性模量
MPTEMP,,,,,,,,                     
TB,BKIN,1,6
TBTEMP,20,1   
TBDATA,1,0.345e9,2e10
TBTEMP,500,2  
TBDATA,1,0.243e9,1.45e10
TBTEMP,735,3
TBDATA,1,0.045e9,0.329e10
TBTEMP,900,4   
TBDATA,1,0.017e9,0.077e10
TBTEMP,1300,5  
TBDATA,1,0.017e7,0.077e8
TBTEMP,1600,6
TBDATA,1,0.017e6,0.077e7


mp,dens,1,7850                          !密度
mp,alpx,1,1.4e-5                        !线膨胀系数

mptemp
mptemp,1,20
mptemp,2,500
mptemp,3,735
mptemp,4,900
mptemp,5,1000
mptemp,6,1200
mptemp,7,1300
mptemp,8,1400
mptemp,9,1500
mptemp,10,1600

mpdata,kxx,1,,53.33
mpdata,kxx,1,,37.35
mpdata,kxx,1,,29.52
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3
mpdata,kxx,1,,27.3           !不同温度点的导热系数


mpdata,c,1,,439.8
mpdata,c,1,,666.5
mpdata,c,1,,1004.83
mpdata,c,1,,650.44
mpdata,c,1,,650
mpdata,c,1,,666.5
mpdata,c,1,,666.5
mpdata,c,1,,666.5
mpdata,c,1,,666.5
mpdata,c,1,,666.5


!建模

CYLIND, RAD, RAD2, 0,HIGH ,0,359
CYLIND, RAD, RAD2, 0,HIGH ,359,360
VGLUE,All,
!csys   ,       11
!划分网格
asel , s , loc , z , 0
LSLA, S
!LESIZE,ALL, , , ,ENUM , , , ,1,
LESIZE,ALL,esize , , , , , , ,1,
AATT,1,1,4,0,
MSHKEY,0
MSHAPE,0,2D
amesh,all
allsel

VATT,1,1,1,0
ESIZE, , 30
EXTOPT,ACLEAR,1
EXTOPT,VSWE,TETS,1
vsweep,all

nummrg,all,,,,low
numcmp,all






!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

*get,nvol,volu,,NUM,max  !确定焊缝实体的编号
VSEL, s, volu,  , nvol
eslv,s,
eplot
*GET, nelem, elem, 0, count !焊缝单元的数目

*dim,elem,,nelem   !焊缝单元的单元号
*dim,ecordz,,nelem !焊缝单元的单元z坐标
*get,elem(1) ,elem,,num,min  !焊缝单元的最小单元号

ecordz(1)=centrz(elem(1))
*do,i,2,nelem
  elem(i)=elnext(elem(i-1)) !获取焊缝单元号
  ecordz(i)=centrz(elem(i)) !获取焊缝单元中心Z坐标
*enddo

!将单元号按照Z坐标排序
*do,i,2,nelem
  elem(i)=elnext(elem(i-1)) !获取焊缝单元号
  ecordz(i)=centrz(elem(i)) !获取焊缝单元中心Z坐标
*enddo

!冒泡法 按z坐标大小排序

*do,i,1,nelem-1
        *do,j,i+1,nelem
            *if,ecordz(j),lt,ecordz(i),then
                tmp=ecordz(i)
                ecordz(i)=ecordz(j)
                ecordz(j)=tmp
                tmp=elem(i)
                elem(i)=elem(j)
                elem(j)=tmp
            *endif
        *enddo
*enddo
alls




*dim,eorder,,nelem/(div1*2),div1*2,,   !定义单元激活数组,每次激活z坐标相同的(div1*2)个单元            
*do,i,1,nelem
   temp1=i/(div1*2)
   temp2=mod(i,(div1*2))       !返回余数部分
   temp3=nint(temp1+0.5)             !返回整数部分!对i/(div1*2)取整,nint(x)是找与x最近的整数
   
   *if,temp2,eq,0,then
        eorder((temp3-1),4)=elem(i)   ! temp-1 修正当i能被(div1*2)整除时temp3 会偏大
     *else
        eorder(temp3,temp2)=elem(i)
    *endif
*enddo



!输入初始温度

  !杀死焊缝单元
*do,i,1,nelem
  ekill,elem(i)
*enddo
esel,s,live
eplot

/SOLU
ANTYPE,4
TRNOPT,FULL
NSEL,ALL
neqit,20     


esel,all
eplot
/auto,1
/replot




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       !设置瞬态分析参数(除最后一个0.2外都是采用的默认参数)


nsub1=2
nsub2=40
aa=nelem/(div1*2)           !单元激活组的个数
bb=(div1*2)                 !同一个z坐标下 单元的个数(以这个个数bb为一个单元激活组)


esel,none
t=0
*do,i,1,aa
   esel,none
   *do,j,1,bb
     esel,a,elem,,eorder(i,j)
   *enddo
   ealive,all
!   bfe,all,hgen,,4.8e9       !施加焊缝初始温度
   esel,s,live
   eplot
   esel,all


! 下面的求解用于建立温度的初始条件
   t=t+dt1
   time,t
   nsubst,1
   *do,k,1,bb
     *do,j,1,4
       d,nelem(eorder(i,k),j),temp,max_tem  !施加温度荷载
     *enddo
   *enddo
   solve
   
! 下面的求解用于保证初始的升温速度为零 ???????????????
    t=t+dt1
    time,t
    solve
! 下面的步骤用于求解温度分布
   *do,k,1,bb
     *do,j,1,4
       ddele,nelem(eorder(i,k),j),temp      !删除温度荷载
     *enddo
   *enddo
   allsel
!   ddele,all,temp
   
   
   
   
    t=t+dt-2*dt1
    time,t
    nsubst,nsub1
    solve
*enddo

*do,tt,t+2,t+tcool,2      
         
        time,tt
        nsubst,1
        solve
*enddo

finish
回复此楼

» 收录本帖的淘帖专辑推荐

ANSYS命令流

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nightrain2

铜虫 (初入文坛)

2楼2018-09-29 07:17:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
nightrain2: 金币+10, ★★★★★最佳答案 2018-10-04 11:11:27
surf154  单元是一种结构单元,将它改为 surf152 热单元应该就可以了。
3楼2018-10-01 09:14:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nightrain2

铜虫 (初入文坛)

4楼2018-10-02 11:14:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nightrain2 的主题更新
信息提示
请填处理意见