找回密码
 注册
Simdroid-非首页
查看: 850|回复: 12

【讨论】再发:关于高斯热源的讨论

[复制链接]
发表于 2004-3-11 15:30:40 | 显示全部楼层 |阅读模式 来自 辽宁抚顺
高斯热源应该是移动的激光束或氧乙炔焰喷枪,其表达式为:Q=QMAX/EXP(K*R**2),在有效热源半径范围内,各点的热输入是不同的,因此,处理这样一个加载位置与时间相关的移动热源模拟时,最好采用TABLE来实现。即:SF,NLIST,Lab,%tabname%)族命令。
以前,论坛贴过一个这样的移动热源加载程序,我仔细试了以下,发现它有错误,主要是该命令中的热源是从开始到最后都是作用的,象一个线热源,但又不是线热源,随着热源的移动,其前端是移动的,但是前几步的热源仍然在作用。如果是线热源,完全没有必要搞一个表出来实现移动热源的加载。
我现在不明白的是在这类加载的“表”中位置坐标对应的是节点呢还是单元。一句话:就是这个表怎么去作?什么思路?
我现在做了一个是对应节点的,但是发现我作出的加载表是一个椭圆。
  
下面我贴出这个帖子,大家可以试试,我对这个命令流稍微在格式上加以改动,以便于阅读。不管在什么时间,它的TEMP节点结果始终为:230。084
  
诸位ANSYS这方面的高手请指点,有不对指出请指出。
  
!焊接模拟的部分语句
!一个完整的三维移动高司分布表面热源焊接例子:  
/PREP7  
/UNITS,SI  
ET,1,SOLID70  
MP,C,1,544.28  
MP,KXX,1,15.06  
MP,DENS,1,4500  
  
BLOCK,0,30,0,15,0,3  
  
ESIZE,1  
VMESH,ALL  
FINISH  
  
/SOLU  
!PARAMETER TABLE TO INPUT HEAT FLUX AS A MOVING SOURCE  
!SPEED OF HEAT SOURCE IN X DIRECTION V=(200/60)M/S  
!GAUSS VARIATION ASSUMED IN X & Y DIRECTION AS Q=QMAX/EXP(K*R**2)  
!TOTAL HEAT INPUT Q=3.14*QMAX/K  
!DIMENSIONING TABLE NAMED "FLUX2"  
  
V=1  
L=30           
NUM_TIME=L/V+1  
NUM_X=L/V+1  
  
  Q=1000  
  KAPA=1/4  
  QMAX=((Q*KAPA)/3.14159)  
 &nbspERCENT=0.98  
  RADIUS=ABS(SQRT(1/KAPA*LOG(1/(1-PERCENT))))  
  
*DIM,FLUX2,TABLE,NUM_TIME,NUM_X,7,TIME,X,Y  
  
*DO,K,1,7,1                                    
  
  *DO,I,1,NUM_TIME,1         
  FLUX2(I,0,K)=(I-1)  
  *ENDDO  
  
  *DO,J,1,NUM_X,1               
  FLUX2(0,J,K)=(J*V-V)  
  *ENDDO  
  
  !N=[RADIUS/V]  
  
  *DO,ANTIME,1,NUM_TIME,1   
                       
    *DO,N,0,15,1           
    
    XDIST=(N*V)  
    
      *IF,(ANTIME-N),GT,0,THEN  
        
        *IF,SQRT((XDIST)**2+((RADIUS/6)*(K-1))**2),LE,RADIUS,THEN  
        !  
        GAUSS=QMAX/EXP(KAPA*((XDIST)**2+((RADIUS/6)*(K-1))**2))  
        FLUX2(ANTIME,ANTIME-N,K)=GAUSS*10E5  
        !  
        *ELSE  
        
        *ENDIF  
      *ENDIF  
          
      *IF,(ANTIME+N),LE,NUM_TIME,THEN  
        
        *IF,SQRT((XDIST)**2+((RADIUS/6)*(K-1))**2),LE,RADIUS,THEN  
        !  
        GAUSS=QMAX/EXP(KAPA*((XDIST)**2+((RADIUS/6)*(K-1))**2))  
        FLUX2(ANTIME,ANTIME+N,K)=GAUSS*10E5  
        !  
        *ELSE  
        
        *ENDIF  
        
      *ENDIF  
    *ENDDO  
  *ENDDO  
  !  
  !INPUT Y DIRECTION DIVISIONS  
  !---------------------------  
  FLUX2(0,0,K)=(K-1)*(RADIUS/6)        
*ENDDO
  
!开始计算  
  ANTYPE,TRANS  
  TUNIF,20  
  KBC,1  
       
  *SET,DELT,1  
    TIMINT,ON  
    AUTOTS,OFF  
  
*DO,TM,1E-6,30,0.5  
  /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  
  !*  
  !*  
  SFA,P51X,1,HFLUX, %FLUX2%  
  /STATUS,SOLU  
  SOLVE  
  OUTRES,ALL,ALL,  
  /PSF,HFLUX,,2  
  
  /REPLOT  
     
*ENDDO  
  
OUTRES,ALL,ALL,  
  
FINISH

评分

1

查看全部评分

发表于 2004-4-11 22:03:06 | 显示全部楼层 来自 山东济南

回复: 【讨论】再发:关于高斯热源的讨论

Simdroid开发平台
回去好好研究一下
发表于 2004-4-11 22:36:26 | 显示全部楼层 来自 天津

回复: 【讨论】再发:关于高斯热源的讨论

我想问问
大侠们有高斯函数中关于有效半径的经验公式吗?
  
我知道是和功率及电弧移动速度有关
  
但是具体是怎么表达的就不清楚了
  
请指教一下
发表于 2004-4-12 08:35:42 | 显示全部楼层 来自 辽宁沈阳

回复: 【讨论】再发:关于高斯热源的讨论

高斯热源应该是移动的激光束或氧乙炔焰喷枪;我想请教一下,那么手工电弧焊接之类的焊接方式,用什么热源呢?我一直对热源的问题搞不明白?谢谢了!
 楼主| 发表于 2004-4-12 09:27:19 | 显示全部楼层 来自 大连理工大学

回复: 【讨论】再发:关于高斯热源的讨论

有效作用半径,一般各专业根据实际情况有一定的范围。
  
氧乙炔焰大概是37-47,一般取40。
  
手工电弧焊接可以看一下武传松的《焊接过程数值模拟》一书。

评分

1

查看全部评分

发表于 2004-4-12 17:49:44 | 显示全部楼层 来自 天津

回复: 【讨论】再发:关于高斯热源的讨论

受到:)正好有
发表于 2004-4-13 08:39:19 | 显示全部楼层 来自 北京

回复: 【讨论】再发:关于高斯热源的讨论

楼主说的那个例子确实不对,我找了一下发现版主已经将那个贴子删了,所以也就不要对这个例子进行深究了,我有个用table加载的正确的例子,不过手头上没有,下午等我找到了就贴上来让大家看看。
 楼主| 发表于 2004-4-13 10:13:12 | 显示全部楼层 来自 大连理工大学

回复: 【讨论】再发:关于高斯热源的讨论

快点啊,很好的东东。
发表于 2004-4-13 15:38:52 | 显示全部楼层 来自 北京

回复: 【讨论】再发:关于高斯热源的讨论

找到了,大家看一下,我运行试了一下,应该是正确的。不过这也是我从本网中找到的,记不得是谁的原创了,如果有知道的请注明一下,我没有侵权的意思!:)
数组方式加载
num_x=pf_en+1  
  num_y=phl_en+1  
  num_time=timend/tinc+1  
  
  *dim,flux3,table,num_x,num_y,num_time,x,y,time  
  
  /com: timstep=pf_es/v    !每个加热区单元的尺寸  
  /com: phl_en     !加热区的单元数  
  
  radius=pfw_hr/2     !高斯热源作用的半径  
  
  *do,k,1,num_time,1   
  
   *do,j,1,num_y,1              !列y赋值     
    
     flux3(0,j,k)=(j-1)*pf_es  
    
   *enddo  
    
   *do,ii,1,num_x,1          !  !行x赋值   
    
     flux3(ii,0,k)=-0.5*(pf_en*pf_es)+(ii-1)*pf_es  
    
   *enddo   
    
   ydist=v*(k-1)*tinc  
    
     *do,j,0,timend,tinc  
       *do,i,1,num_x,1       !x坐标  
          
         ycoor=v*j  
                                
         xcoor=-0.5*(pf_en*pf_es)+(i-1)*pf_es  
          
         r=sqrt((ycoor-ydist)**2+xcoor*xcoor)  
          
         *if,r,le,radius,then   
            
           gauss=qmax/exp(k*r*r/1000000)     
           flux3(i,j/tinc+1,k)=gauss                            !*10e5   
          
         *endif  
      
       *enddo  
     *enddo  
      
   flux3(0,0,k)=(k-1)*tinc                                 !页time赋值  
    
  *enddo
----------

评分

1

查看全部评分

发表于 2006-3-10 18:42:20 | 显示全部楼层 来自 湖南湘潭

Re:回复: 【讨论】再发:关于高斯热源的讨论

谁会?告诉我们
发表于 2013-4-8 16:03:20 | 显示全部楼层 来自 内蒙古呼和浩特
好好学习一下
回复 不支持

使用道具 举报

发表于 2016-5-20 14:34:25 | 显示全部楼层 来自 黑龙江哈尔滨
定义高斯热源用到的表数组,有人说是在ANSYS中输入函数,然后自动生成的文件,各位怎么看,那些数值代表什么呢?
回复 不支持

使用道具 举报

发表于 2016-5-20 17:08:30 | 显示全部楼层 来自 黑龙江哈尔滨
*do,j,0timed,tinc  这一语句。。j是以载荷步长为增量一直到焊接截止时间,这里有一个问题,为什么以载荷步为增量来增长y坐标,理论上,应该按节点递增y坐标
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-1 05:44 , Processed in 0.061187 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表