24小时热门版块排行榜    

查看: 441  |  回复: 0

denghongfe

金虫 (小有名气)

[求助] 已写好热源光栅式扫描路径APDL程序,现需要跨行距重复扫描的程序,不懂光栅路径见图

左图为光栅式扫描路径图,假定每行间距5mm,则右图为跨行扫描程序,则行间距为10mm,走完第一次,再走图中红色路径(左右没偏,只是为方便显示左右突出来了,仅仅就是把前一到路径偏置5mm),求怎么改,最好具体啊。众位大神……
APDL程序如下:
!/VIEW,1,1,1,1
LX=0.05                             !(需设定工件尺寸)
LY=0.05                             !(需设定工件尺寸)
LZ=0.01                             !(需设定工件尺寸)
BLOCK,0,LX,0,LY,0,LZ

esize,0.002                         !(需设定网格尺寸)
vsel,all
vmesh,all
allsel


ET,2,SURF152   !定义单元类型:面单元用于添加面热源载荷
KEYOPT,2,1,0   !定义关键点
KEYOPT,2,2,0
KEYOPT,2,3,0
KEYOPT,2,4,1
KEYOPT,2,5,1
KEYOPT,2,6,0
KEYOPT,2,7,0
KEYOPT,2,8,0
KEYOPT,2,9,1
R,2,1,5.67e-8, ,0,0,0   
RMORE, , , ,
RMORE, , ,  
MPTEMP,,,,,,,,  
MPTEMP,1,0  
MPDATA,EMIS,2,,0.95
TYPE,   2   
MAT,       2
REAL,       2   
ESYS,       0



!**********************第二步运行的程序:定义热源参数、扫描参数,计算温度场*******************************

N,100000,0,0,0.025,,,,   
FLST,5,4056,1,ORDE,3     ! 4056是划分的节点数,从菜单栏List -> status -> Global status查看Nodes后的数字
FITEM,5,1   
FITEM,5,-4055            ! -4055是根据4056确定
FITEM,5,100000            
CM,_Y,node  
NSEL, , , ,P51X
CM,_Y1,node
CMSEL,,_Y  

CMSEL,,_Y1  
ESURF,10000
CMSEL,,_Y   
CMDELE,_Y   
CMDELE,_Y1   
FINISH

SAVE
FINISH


/SOLU
KK=1          !能量集中系数
Qmax=5000     !峰值束流密度 W/m2      (需设定)
R=0.01        !束流半径 m             (需设定)

LSIZE=0.002         !单步运动距离 m         (需设定)
HN=(LX+2*R)/LSIZE+1 !单行的步数
V=0.002             !离子束移动速度 m/s     (需设定)
TINC=LSIZE/V        !单步时间长度 s

U=0.005       !扫描行间距 m            (需设定)
LN=15         !扫描行数计算公式(LX+2*R)/U向上取整+1,有时不能扫描整个镜面,则增加扫描行数   (需设定)
              !(若改为向上去整-1呢?因为在头和尾的两条扫描路径是没有对工件产生影响的)
                                         
N=LN*HN      !总步数
LLX=LX+2*R   !扫描范围X  m
LLY=LY+2*R   !扫描范围Y  m   


MAX_TIME=N*TINC
MAX_X=LLX/LSIZE+1
MAX_Y=LLY/LSIZE+1
   
*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
   
  YS=MOD(K,HN)      !余数
   *IF,YS,EQ,0,THEN
    YCENTER=U*(K/HN-1)-(LLY-LY)/2
     *IF,MOD(K/HN,2),EQ,0,THEN
      XCENTER=-R
     *ELSE
      XCENTER=LX+R
     *ENDIF
   *ELSE
    HS=K/HN-MOD(K/HN,1)
    YCENTER=U*HS-(LLY-LY)/2
     *IF,MOD(HS,2),EQ,0,THEN
      XCENTER=(MOD(K,HN)-1)*LSIZE-R
     *ELSE
      XCENTER=(HN-MOD(K,HN))*LSIZE-R
     *ENDIF
   *ENDIF
  
  *DO,I,1,MAX_X,1
    *DO,J,1,MAX_Y,1
     DISTANCE=SQRT(((I-1)*LSIZE-XCENTER)**2+(((J-1)*LSIZE)-YCENTER)**2)
     *IF,DISTANCE,LE,R,THEN
      FLUX2(I,J,K)=Qmax/EXP(9*KK*(((I-1)*LSIZE-XCENTER)**2+(((J-1)*LSIZE-YCENTER))**2)/(2*R**2))
     *ELSE
      FLUX2(I,J,K)=0
    *ENDIF
    *ENDDO
  *ENDDO

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

!开始计算
  ANTYPE,TRANS
  TUNIF,293         !初始温度293K
  KBC,1
   
  *SET,DELT,1
   TIMINT,ON
   AUTOTS,OFF
   
   TT=N*TINC

*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,LZ,LZ
  SFA,all,1,HFLUX,%FLUX2%
  !/STATUS,SOLU
  SOLVE
allsel,all
  OUTRES,ALL,ALL,
  /PSF,HFLUX,,2
   
  /REPLOT
      
*ENDDO

OUTRES,ALL,ALL,

FINISH
save


!至此,温度场计算完毕,可以观看温度场演变动画,读取任意时刻任意节点的温度情况

已写好热源光栅式扫描路径APDL程序,现需要跨行距重复扫描的程序,不懂光栅路径见图
AB.jpg
回复此楼
好好努力!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 denghongfe 的主题更新
信息提示
请填处理意见