一个焊接模拟高斯热源的实例

一个实例(摘自ANSYS百思论坛https://www.360docs.net/doc/b613199211.html,/thread-740619-1-1.html)
原型为高斯热源在两个相互接触的平板上移动
希望对大家有点用
计算移动热源的温度分布,代码如下
/CLEAR,NOSTART
/FILNAM,2211
/TITLE,RESIDUAL STRESS ANALYSIS
/UNITS,SI
/CONFIG,NRES,10000
/PREP7
ET,1,SOLID70
MP,DENS,1,5250
MP,C,1,650
MP,KXX,1,5

/VIEW,1,1,1,1
BLOCK,0,0.04,0.02,0.04,0,0.004
block,0,0.04,0,0.02,0,0.004
esize,0.001
vsel,all
vmesh,all
allsel
!建立接触单元
ET,2,170
ET,3,174
KEYOPT,3,9,0
R,3,
RMORE,
RMORE,,150
RMORE,0
KEYOPT,3,1,2
! Generate the target surface
vsel,s,volu,,1,1
aslv,s
ASEL,S,loc,y,0.02,0.02,0
CM,_TARGET,AREA
TYPE,2
NSLA,S,1
ESLN,S,0
ESURF,ALL
allsel,all
! Generate the contact surface
vsel,s,volu,,2,2
aslv,s
ASEL,S,loc,y,0.02,0.02,0
CM,_CONTACT,AREA
TYPE,3
NSLA,S,1
ESLN,S,0
ESURF,ALL
RMORE,,150
allsel,all
!接触完毕

FINISH

/SOLU
LSIZE=0.001
V=0.4 !速度
TINC=LSIZE/V !单步时间长度
KK=1 !能量集中系数
Qmax=1800000
R=0.0005
MAX_TIME=41
MAX_X=41
MAX_Y=41

*DIM,FLUX2,TABLE,MAX_X,MAX_Y,MAX_TIME,X,Y,TIME
*DO,K,1,MAX_TIME,1
*DO,I,1,MAX_X,1
FLUX2(I,0,K)=(I-1)*LSIZE
*ENDDO

*DO,J,1,MAX_Y,1
FLUX2(0,J,K)=(J-1)*LSIZE
*ENDDO

*DO,I,1,MAX_X,1
*DO,J,1,MAX_Y,1
XCENTER=V*(K-1)*TINC
YCENTER=0.02
DISTANCE=SQRT(((I-1)*LSIZE-XCENTER)**2+((J-1)*LSIZE-YCENTER)**2)
*IF,DISTANCE,LE,R,THEN
FLUX2(I,J,K)=Qmax/EXP(KK*DISTANCE**2/(3*r**2))
*ELSE
FLUX2(I,J,K)=0
*ENDIF
*ENDDO
*ENDDO

FLUX2(0,0,K)=(K-1)*TINC
*ENDDO

!开始计算
ANTYPE,TRANS
TUNIF,20 !初始温度20度
KBC,1

*SET,DELT,1
TIMINT,ON
AUTOTS,OFF

TT=0.1

*DO,TM,1E-6,TT,TINC
/VIEW,1,1,1,1
/ANG,1
/REP,FAST

FLST,2,1,5,ORDE,1
FITEM,2,2

/GO
!*
TIME,TM
AUTOTS,0
DELTIM, , , ,1
KBC,0
!*
TSRES,ERASE
!FLST,2,1,5,ORDE,1
!FITEM,2,2
/GO
asel,s,loc,z,0.004,0.004
SFA,all,1,HFLUX,%FLUX2%
/STATUS,SOLU
SOLVE
allsel,all
OUTRES,ALL,ALL,
/PSF,HFLUX,,2

/REPLOT

*ENDDO

OUTRES,ALL,ALL,

FINISH



相关文档
最新文档