熱源開發實例

1. SYSWELD計算的基本原理

傳熱方程(見高校傳熱學教材)是一個精確方程,SYSWELD是一個解這個方程的軟件,包含完整的前處理、求解、后處理模塊。它的基本原理就是解微分方程,求解器類型未知,有興趣的可以參看它的手冊。

傳熱方程中有個熱源項,那是一個函數。SYSWELD將之視為熱能密度分布函數,它的全域積分就是總能量輸入。

很顯然,不同焊接方法,熱流密度分布函數都不一樣。激光柱、電子束柱形狀類似柱面,而埋弧焊類似橢球。由于這種形似,就可以使用數學函數來描述熱源。

2. 高斯熱源

上文提到了利用數學函數描述熱源的基本原理,詳細資料參見《焊接熱過程與熔池形態(武傳松 山東大學 2008 )》第二章的內容。

這本書的2.4.1節給出了高斯熱源的形式,這里把它編寫成SYSWELD可以識別的函數形式,以它為例,描述SYSWELD熱源的開發過程。

3. 熱源描述

熱源斑點:電弧傳給焊件的熱能中,有95%落在以rH為半徑的加熱斑點內。在加熱斑點上熱流的分布,一般近似用高斯函數描述。

圖片1.png

圖片2.png

圖片3.png

這就是熱源的數學函數形式,SYSWELD熱源開發要做的,就是用FORTRAN描述它,讓SYSWELD在求解過程中調用。

1. SYSWELD對熱源的處理

x0y0z0 表示熱源中心在由焊接線和參考線確定的局部坐標系(以焊接線開始點為坐標原點,焊接線指向參考線方向為x0,沿著焊接線方向為y0右手定則確定z0)中的坐標。

ay   熱源進入方向是沿著z0軸的反方向,ay是熱源進入方向沿著y0軸旋轉的角度,順時針為正。假設不旋轉。

參考線、焊接線都是在前處理(畫圖)過程中指定的。

圖片4.png

SYSWELD會將熱源作上述處理,像這樣:

圖片5.png

因此要編寫熱源,絕對坐標xyz和絕不坐標x0y0z0的關系一定要搞清楚,這是高中課本坐標平移部分的內容,不會的需要回去補習。

熱原函數的基本形式是這樣的(注意已經寫成了fortran格式):

F   = Q0 * EXP( - R^2 / R0^2 )

現在要做的就是怎么讓這個函數沿著y0軸移動。

如下圖所示的這個點,它的熱載荷是多少呢?

這個點的局部坐標是(x0y0z0),因此它的絕對坐標是(x-x0y-y0z-z0),

圖片6.png

所以,這個點的熱載荷為:

F   = Q0 *EXP ( - R^2 / R0^2 )

R^2= ( XX-X0 )^2 + ( YY-Y0-VY*TT )^2

XXYYZZbdfct.fct文件中用來表示坐標的,這里沿用。這是容易理解的:YY-Y0-VY*T中的VY是熱源延y0軸的移動速度(注意熱源只沿著y0軸移動,這是SYSWELD的處理方法),TT是時間。

R0是認為指定的,它代表了熱源作用面的大小。

1. SYSWELD熱源的格式

SYSWELD熱源是數十行(視復雜程度而定)的fortran代碼,前面提到過,它就是描述了一個概率密度函數。在幫助文檔的table process章節中詳細描述了它的語法,可以自行翻看。

下面開始熱源編制(紅色的是正式代碼,其它的全部是解釋和說明)。.

(1) 程序起始

TABLE : GAUSS SOURCE

1 / FORTRAN

FUNCTION F(X)

 

這一段是程序的開始段,是固定的格式,SYSWELD只認這樣的格式,“GAUSS SOURCE”是熱源的名稱,在SYSWELD計算設置中,你能看到它,因此名字要起好,不然調用的時候你不認得。

下面是ID和說明,FUNCTION F(X)表示定義了一個函數,叫做F(x)

(2) 定義變量

熱源中的變量有四個:xyzt,因此需要四個變量來存儲,和其它任意程序一樣,需要提前定義才能使用。

DIMENSION X(4)

      XX = X(1)   ; X 坐標

      YY = X(2)   ; Y坐標

      ZZ = X(3)   ; Z坐標

      TT = X(4)   ; 時間

這段程序中定義了4個變量,DIMENSIONFortran中著名的關鍵詞,用途廣泛,不會的請補習。

XXYYZZSYSWELD的絕對坐標(很重要,請一定搞清楚絕對坐標和局部坐標的區別)。

(3) 熱源參數設定

公式中,Q0R0是需要指定的,而熱源起始點一般都是(0,0,0),所以要這樣設置這些參數:

Q0 = 1500    ; 最大熱流密度處,為高斯熱源的最大值點

      R0 = 1    ; 熱源的作用范圍

      X0 = 0    ; 熱源的起始坐標

      Y0 = 0    ; 熱源的起始坐標

      Z0 = 0   ; 熱源的起始坐標

      VY = 0   ; 熱源的移動速度

      K = -1 常量,計算用的

(4) 計算R^2

R^2計算很簡單,前面已經給出了:

R2=( XX-X0 )^2 + ( YY-Y0-VY*T )^2

(5) 計算R0^2

R02 = R0*R0

(6) 計算F

      A    = R2 / R02

      A    = K * A

      A    = EXP( A )

F    = Q0 * A

(7) 結尾

      RETURN

      END

FIN TABLE

(8) 使用

完整程序(紅色部分)匯總如下:

LISTE : 

GAUSS SOURCE

FIN LISTE

C

C 12

C

TABLE : GAUSS SOURCE

1 / FORTRAN

FUNCTION F(X)

DIMENSION X(4)

XX = X(1)

YY = X(2)

ZZ = X(3)

TT = X(4)

Q0 = 1500    ; 最大熱流密度處,為高斯熱源的最大值點

R0 = 1    ; 熱源的作用范圍

X0 = 0    ; 熱源的起始坐標

Y0 = 0    ; 熱源的起始坐標

Z0 = 0   ; 熱源的起始坐標

VY = 0   ; 熱源的移動速度

K = -1 ; 常量,計算用的

R2 = ( XX-X0 )^2 + ( YY-Y0-VY*T )^2

R02 = R0*R0

A = R2 / R02

A = K * A

A = EXP( A )

F = Q0 * A

      RETURN

      END

FIN TABLE前面三行加粗的是fct文件的起始,把上述代碼存成myfirstsouce.fct文件,放在bdfct.fct這個文件所在的目錄,然后在校核當中調用:

圖片7.png

注意在load function文件的時候一定要選擇我們保存的myfirstsouce.fct,如果你不怕麻煩,直接把它寫在bdfct.fct中也可以。 

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

2
1
4