本帖最后由 alexanderking 于 2010-11-16 11:08 编辑
请问大家一下,我在做激光扫描加热,现在只能实现激光扫描一次加热过程,我想实现在激光扫描加热一次之后,在这个基础上从同样的起点同样的激光再次扫描加热多次。请问一下这个怎么实现呢?下面附上我的命令流。
FINISH
/CLEAR
/FILNAM,LASER HEAT
/TITLE,LASER HEAT
/UNITS,SI
/PREP7
!设置计算参数
*SET,LENGTH,0.2
*SET,WIDTH,0.1
*SET,V,5
*SET,power,100
*SET,ESIZE,0.005
*SET,TM,WIDTH/V
*SET,TINC,ESIZE/V
*SET,R,0.01
*SET,pi,3.1415926
*SET,power_max,0.8*power/(pi*R*R)
*SET,MAX_TIME,TM/TINC/2+1
*SET,MAX_X,WIDTH/ESIZE/2+1
*SET,MAX_Y,LENGTH/ESIZE+1
*SET,x0,0
*SET,y0,0
*SET,z0,0
!设置材料属性和单元属性
ET,1,solid70
!ET,2,surf152
MPTEMP,1,20,100,200,400,500,600,
MPDATA,kxx,1,1,5.44,6.70,8.79,10.47,12.56,14.24
MP,dens,1,4430
MPTEMP
MPTEMP,1,20,100,200,400,500,600,
MPDATA,c,1,1,678,691,703,741,754
!利用关键点建模
k,1,0,0,0
K,2,0.1,0,0
K,3,0.1,0.2,0
K,4,0,0.2,0
A,1,2,3,4
CSYS,0
VOFFST,1,0.01
NUMCMP,all
!划分网格
ESIZE,0.005
MSHAPE,0,3D
MSHKEY,1
VMESH,1,2
Save
TOFFST,273
TUNIF,27
/SOL !进入求解器
ANTYPE,TRANS!瞬态分析
TIMINT,ON !瞬态积分效应打开
AUTOTS,OFF !自动时间步长关闭
KBC,1 !阶跃载荷*SET,TIM,1E-6
!利用表格定义激光载荷
*DIM,LASER1,TABLE,MAX_X,MAX_Y,MAX_TIME,X,Y,TIME
*DO,K,1,MAX_TIME,1
*DO,I1,1,MAX_X,1
LASER1(I1,0,K)=(I1-1)*ESIZE
*ENDDO
*DO,J1,1,MAX_Y,1
LASER1(0,J1,K)=(J1-1)*ESIZE
*ENDDO
*DO,I1,1,MAX_X,1
*DO,J1,1,MAX_Y,1
*SET,XCENTER1,V*(K-1)*TINC
*SET,YCENTER1,0
*SET,DISTANCE1,SQRT(((I1-1)*ESIZE-XCENTER1)**2+((J1-1)*ESIZE-YCENTER1)**2)
*IF,DISTANCE1,LE,R,THEN
*SET,LASER1(I1,J1,K),power_max*7/14*EXP(-DISTANCE1**2/(R**2))
*ELSE
*SET,LASER1(I1,J1,K),0
*ENDIF
*ENDDO
*ENDDO
*SET,LASER1(0,0,K),(K-1)*TINC
*ENDDO
!激光载荷定义完毕,进入加载过程
*DO,N,1,2 !设置重复加载两次
*DO,K,1,MAX_TIME!选定节点并在选定的节点上加载表格载荷
NSEL,s,loc,z,z0,z0+0.01
NSEL,r,loc,x,x0,x0+WIDTH/2
NSEL,r,loc,y,y0,0.02
SF,ALL,HFLUX,%LASER1%
AllSEL,all
*SET,TIM,TIM+TINC
TIME,TIM
AUTOTS,off
DELTIM,,,,1
KBC,1
TSRES,erase
OUTRES,all,all
SOLVE
*ENDDO!一次加载循环完成
!进行第二次加载
/SOLU
ANTYPE,TRANS,REST !重启动ansys分析
NSEL,s,loc,z,z0,z0+0.01
NSEL,r,loc,x,x0,x0+WIDTH/2
NSEL,r,loc,y,y0,0.02
SFDELE,ALL,HFLUX !删除上次所加载的表格载荷
AllSEL,all
*SET,K,1 !重置变量
*SET,I1,1
*SET,J1,1
*SET,XCENTER1,V*(K-1)*TINC
*SET,YCENTER1,0
*ENDDO!两次加载完成
SAVE
FINISH
!进入后处理显示温度云图
/POST1
SET,LAST
plnsol,temp,,0 |