熱源開發實例
1. SYSWELD計算的基本原理
傳熱方程(見高校傳熱學教材)是一個精確方程,SYSWELD是一個解這個方程的軟件,包含完整的前處理、求解、后處理模塊。它的基本原理就是解微分方程,求解器類型未知,有興趣的可以參看它的手冊。
傳熱方程中有個熱源項,那是一個函數。SYSWELD將之視為熱能密度分布函數,它的全域積分就是總能量輸入。
很顯然,不同焊接方法,熱流密度分布函數都不一樣。激光柱、電子束柱形狀類似柱面,而埋弧焊類似橢球。由于這種形似,就可以使用數學函數來描述熱源。
2. 高斯熱源
上文提到了利用數學函數描述熱源的基本原理,詳細資料參見《焊接熱過程與熔池形態(武傳松 山東大學 2008 )》第二章的內容。
這本書的2.4.1節給出了高斯熱源的形式,這里把它編寫成SYSWELD可以識別的函數形式,以它為例,描述SYSWELD熱源的開發過程。
3. 熱源描述
熱源斑點:電弧傳給焊件的熱能中,有95%落在以rH為半徑的加熱斑點內。在加熱斑點上熱流的分布,一般近似用高斯函數描述。



這就是熱源的數學函數形式,SYSWELD熱源開發要做的,就是用FORTRAN描述它,讓SYSWELD在求解過程中調用。
1. SYSWELD對熱源的處理
x0,y0,z0 表示熱源中心在由焊接線和參考線確定的局部坐標系(以焊接線開始點為坐標原點,焊接線指向參考線方向為x0,沿著焊接線方向為y0,右手定則確定z0軸)中的坐標。
ay 熱源進入方向是沿著z0軸的反方向,ay是熱源進入方向沿著y0軸旋轉的角度,順時針為正。假設不旋轉。
參考線、焊接線都是在前處理(畫圖)過程中指定的。

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

因此要編寫熱源,絕對坐標x、y、z和絕不坐標x0、y0、z0的關系一定要搞清楚,這是高中課本坐標平移部分的內容,不會的需要回去補習。
熱原函數的基本形式是這樣的(注意已經寫成了fortran格式):
F = Q0 * EXP( - R^2 / R0^2 )
現在要做的就是怎么讓這個函數沿著y0軸移動。
如下圖所示的這個點,它的熱載荷是多少呢?
這個點的局部坐標是(x0,y0,z0),因此它的絕對坐標是(x-x0,y-y0,z-z0),

所以,這個點的熱載荷為:
F = Q0 *EXP ( - R^2 / R0^2 )
且R^2= ( XX-X0 )^2 + ( YY-Y0-VY*TT )^2
XX、YY、ZZ是bdfct.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) 定義變量
熱源中的變量有四個:x、y、z、t,因此需要四個變量來存儲,和其它任意程序一樣,需要提前定義才能使用。
DIMENSION X(4)
XX = X(1) ; X 坐標
YY = X(2) ; Y坐標
ZZ = X(3) ; Z坐標
TT = X(4) ; 時間
這段程序中定義了4個變量,DIMENSION是Fortran中著名的關鍵詞,用途廣泛,不會的請補習。
XX、YY、ZZ是SYSWELD的絕對坐標(很重要,請一定搞清楚絕對坐標和局部坐標的區別)。
(3) 熱源參數設定
公式中,Q0、R0是需要指定的,而熱源起始點一般都是(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這個文件所在的目錄,然后在校核當中調用:

注意在load function文件的時候一定要選擇我們保存的myfirstsouce.fct,如果你不怕麻煩,直接把它寫在bdfct.fct中也可以。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















