SYSWELD的一些基礎(chǔ)心得
焊接知識(shí)根本質(zhì)上只有兩大方面:傳熱和冶金。
傳熱其實(shí)是比較簡(jiǎn)單的,本質(zhì)上就是根據(jù)實(shí)際的邊界條件求解以下的微分方程:

這就是焊接溫度場(chǎng)模擬軟件的最基本原理,如果忘記了傳熱學(xué)的內(nèi)容,你可能有必要再回顧一下。
高等數(shù)學(xué)的課程告訴我們,這個(gè)微分方程的求解是很難的。解析解在大多數(shù)的情況下都不存在。因此只能通過(guò)數(shù)值解的方法。有很多SYSWELD的入門者對(duì)這一點(diǎn)的把握不是很好,總覺(jué)得這個(gè)軟件是個(gè)暗箱一樣的存在,非常神秘、難以探究。但是實(shí)際上,翻開(kāi)任意一本諸如《微分方程的數(shù)值解法》的教科書,都能得到該方程的解法,SYSWELD實(shí)際上就是做了求解方程的事兒。作為工程人員我們可能并不需要知道怎樣去編寫程序完成上述方程的解,但是知道其基本原理對(duì)于你正確使用軟件是有極大幫助的。
因此本文的主要目的就是將自己對(duì)SYSWELD等軟件(ANSYS、ABAQUS也大致相同)的理解寫下來(lái)。我也是一個(gè)初學(xué)者,迄今為止我只用到了SYSWELD中的溫度場(chǎng)模擬功能(因此下文全部以熱模擬計(jì)算為例),有一些同行經(jīng)常問(wèn)一些問(wèn)題,我發(fā)現(xiàn)這些問(wèn)題實(shí)際上具有通性,回想起當(dāng)時(shí)我自己入門的時(shí)候那種痛苦,我很不希望看到身邊的人在學(xué)習(xí)軟件時(shí)也同樣痛苦不堪。所以我把自己的體會(huì)和經(jīng)驗(yàn)寫在這里,僅供入門者參考。我想我也是入門者,入門者與入門者交流的障礙應(yīng)該是很小的。
1. 如何學(xué)習(xí)SYSWELD
2.1 首先你得清楚SYSWELD的基本原理
前文提到過(guò),溫度場(chǎng)的模擬實(shí)際上是使用數(shù)值方法求解傳熱微分方程。
如果你對(duì)這個(gè)說(shuō)法沒(méi)有一點(diǎn)概念,你就需要檢索一些教程,不需要你精通,僅求掃盲即可。推薦的書目是《微分方程的數(shù)值解法》,百度之。
根據(jù)這個(gè)原理,如果編寫一款焊接熱模擬的軟件,那么它需要幾個(gè)部分:
P1:定義求解范圍的功能
傳熱微分方稱是一個(gè)數(shù)學(xué)模型,求解它自然是在坐標(biāo)系中(通常是三維)。你會(huì)問(wèn)那么被焊接的工件難道要轉(zhuǎn)化為坐標(biāo)系嗎?是的,一點(diǎn)沒(méi)錯(cuò)。這就是你在求解之前需要畫出工件三維圖的原因。你的作圖過(guò)程實(shí)際上就是在定義微分方程的求解邊界。
P2:離散化功能
畫出三維圖后要做的工作就是將工件離散化為點(diǎn)陣。為什么要離散化呢?如果你知道了微分方程的數(shù)值解法,這個(gè)問(wèn)題不需要解答。離散化就是所謂的劃分網(wǎng)絡(luò)過(guò)程,就是將你畫出的三維圖使用點(diǎn)陣來(lái)替代。這一步很重要,在數(shù)學(xué)領(lǐng)域網(wǎng)絡(luò)的劃分應(yīng)該可以作為一個(gè)專業(yè)方向了吧,我猜。在何種情況下網(wǎng)絡(luò)應(yīng)該如何劃分,直接決定了求結(jié)過(guò)程的收斂速度甚至是否收斂。這些知識(shí)你都可以在《微分方程的數(shù)值解法》里找到。
P3:求解器模塊
求解有很多算法,研究算法的人也很牛逼。我們這個(gè)世界的主梁其實(shí)就是這些牛逼人物構(gòu)成的。據(jù)我所知,世界上的求解器也就是有限的那么多種。求解器的功能就是使用循環(huán)迭代等方法求解上述的方程。同樣的,這也是數(shù)學(xué)知識(shí),不再贅述。
P4:后處理模塊
當(dāng)你求解出了每一個(gè)點(diǎn)的數(shù)值,比如溫度場(chǎng)每一個(gè)點(diǎn)在0-2000s之內(nèi)的數(shù)值(矩陣),那么你需要一種方式把它顯示出來(lái)。動(dòng)畫或者動(dòng)畫的截屏是個(gè)不錯(cuò)的選擇。或者你僅僅只需要某一個(gè)點(diǎn)的某個(gè)參數(shù)(比如溫度)隨時(shí)間的變化,你也可以做出來(lái)。你同樣需要知道的是,這其實(shí)也是一個(gè)很簡(jiǎn)單的過(guò)程。以SYSWELD為例,它的數(shù)據(jù)是這樣被存儲(chǔ)的:

這是16.0909s時(shí),所有node(節(jié)點(diǎn))的溫度數(shù)據(jù)。如果我要查看9999號(hào)節(jié)點(diǎn)的溫度曲線該怎么辦呢?那就把每一個(gè)時(shí)間(在這個(gè)例子中0-2000s被劃分為了85個(gè)時(shí)間點(diǎn))9999號(hào)節(jié)點(diǎn)的溫度都讀出來(lái),然后以時(shí)間為橫坐標(biāo)、溫度為縱坐標(biāo),就能作圖了。
可是問(wèn)題是,即是你將計(jì)算結(jié)果存儲(chǔ)為txt格式,它也有幾百M甚至幾個(gè)G的大小,你無(wú)法打開(kāi)它,或者這種格式你不能直接使用。此時(shí)就需要你有一些編程知識(shí),C語(yǔ)言、VB、VBA都能從TXT中讀取數(shù)據(jù)。如果你沒(méi)有好好學(xué)習(xí)一門語(yǔ)言,現(xiàn)在開(kāi)始還來(lái)得及。
2.1 現(xiàn)在你得知道ESI是怎么實(shí)現(xiàn)上述過(guò)程的
SYSWELD這個(gè)軟件里包含了完整的畫圖、網(wǎng)絡(luò)劃分(離散化)、求解、后處理這四個(gè)部分。在百度文庫(kù)上以SYSWELD為關(guān)鍵詞你就能搜索到教程。不過(guò)就我個(gè)人而言,我是很不喜歡SYSWELD的畫圖、網(wǎng)絡(luò)和后處理這三個(gè)功能的。因?yàn)樵O(shè)計(jì)的不友好,連個(gè)撤銷鍵都沒(méi)有,而且菜單那么多,找到一個(gè)菜單有時(shí)要點(diǎn)選7-8步,太惡心了。所以我選擇使用另外的方法。
實(shí)際上作為初學(xué)者你僅需要知道對(duì)于解微分方程來(lái)說(shuō),所有的軟件幾乎都是一樣的,充其量界面和算法不同,使用的文件格式幾乎都一樣。因此你可以使用任意一款三維建模軟件畫圖,比如CAD、SolidWorks、UG、ProE等等,然后再用任意一款網(wǎng)絡(luò)劃分軟件進(jìn)行網(wǎng)絡(luò)劃分,像什么hypermesh之類的。然后導(dǎo)入SYSWELD計(jì)算,算完了之后再使用任意一款比較好的后處理軟進(jìn)行后處理。
實(shí)際上當(dāng)你對(duì)這些軟件的名稱、功能了然于胸,你就對(duì)這些所謂的軟件和對(duì)應(yīng)的公司,甚至這一產(chǎn)業(yè)以什么為基礎(chǔ)劃分的,就清楚了。這個(gè)時(shí)候你就不會(huì)被復(fù)雜的表象迷惑了。
你可以選擇上述的方法做,不過(guò)呢,我不是這么做的。其實(shí)ESI除了SYSWELD還有另外一套軟件,叫做VISUAL Environment(ESI我覺(jué)得是一個(gè)非常偉大的公司,它的產(chǎn)品簡(jiǎn)直太多了,偉大在于幾乎每個(gè)軟件都是行業(yè)的標(biāo)桿)。它里面有兩款軟件:Visual Mesh和Visual Viewer,從名字上就可以看出它們分別是干啥的。
Visual Mesh可以用來(lái)畫圖、劃分網(wǎng)絡(luò),Visual Viewer可以查看結(jié)果。因此我采取的辦法是:
在Visual Mesh可以用來(lái)畫圖、劃分網(wǎng)絡(luò)>>導(dǎo)入SYSWELD計(jì)算>>在Visual Viewer中查看結(jié)果。
很多人問(wèn)關(guān)于學(xué)習(xí)SYSWELD的簡(jiǎn)單方法,我在此提供一種最扎實(shí)、最可靠、最不需要外界幫助的方法:百度文庫(kù)里有一份《SYSWELD中文教程T型.》,這份教程就是按照上述流程編寫的(最后的后處理不是,不過(guò)那不重要),如果你耐心將這個(gè)教程做10遍,做的過(guò)程中想著本中提到的求解微分方程的解法,以及ESI是怎么通過(guò)菜單實(shí)現(xiàn)的,那么所有問(wèn)題都能解決,而且能觸類旁通。
2.2 求解過(guò)程的每一步在軟件中的實(shí)現(xiàn)
2.2.1 畫圖和Mesh

想一想解微分方程的最重要一步:離散化。可是問(wèn)題是,你畫出的工件在軟件中是以點(diǎn)、線、面的形式存在的。如果是你,是應(yīng)該如何設(shè)置這個(gè)離散化過(guò)程呢?
Visual Mesh把這個(gè)過(guò)程設(shè)置成了幾個(gè)菜單:Curve(線)、Surface(面)、Volume(體)、Node(節(jié)點(diǎn))、1D、2D、3D,其中Node是我們最終想得到的對(duì)象(節(jié)點(diǎn)),而1D、2D、3D是將點(diǎn)線面離散化的菜單,用于將你畫出的線面之類的離散為節(jié)點(diǎn)(Node)。我們最終工件都是由Node點(diǎn)陣構(gòu)成的,你畫的線和由之構(gòu)成的面、體等都不能存在,解方程時(shí)用不著它們。你不用關(guān)心軟件后臺(tái)是怎么做到這一點(diǎn)的,你只需要關(guān)心操作步驟,遵循《SYSWELD中文教程T型.》(以下簡(jiǎn)稱“T教程”)做就行了,如果你明了知道自己正在進(jìn)行的一步在求解中占有何等地位,那最好不過(guò)。
其實(shí)我最喜歡這個(gè)軟件的地方在于它非常直觀,想一想焊接過(guò)程抽象出來(lái)包括了哪些?
F 首先是工件實(shí)體,我們通過(guò)離散化得到Node點(diǎn)陣來(lái)表現(xiàn)出實(shí)體。
F 第二是熱源移動(dòng)路徑,在Visual Mesh中,它首先是以Curve被畫出來(lái),然后通過(guò)1D將之劃分為Node點(diǎn)陣。
F 熱源參考線,其實(shí)最開(kāi)始我對(duì)這根參考線相當(dāng)困惑,完全不知道它是干嘛用的。其實(shí)它的作用是確定熱源的作用方向。規(guī)則是這樣的:

焊接線和參考線都是被離散過(guò)的線,它們都是Node的集合。每個(gè)Node有一一對(duì)應(yīng)的關(guān)系,比如上圖假設(shè)熱源移動(dòng)到了焊接線的第50個(gè)Node,此時(shí)熱源作用方向這樣確定:
以熱源移動(dòng)方向為y軸,以焊接線的第50個(gè)Node指向參考線的第50個(gè)Node的假想線為x軸,然后以右手定則確定z軸,此時(shí)z軸的負(fù)方向就是熱源的作用方向。
所以說(shuō)參考線是不可以隨意設(shè)置的,隨意設(shè)置帶來(lái)的后果可能是熱源在工件表面移動(dòng),然而火苗可能對(duì)著空氣了。
F 工件邊界
通常工件會(huì)與環(huán)境交換熱量,絕大部分都是通過(guò)表面散發(fā)出去的。所以你要告訴SYSWELD在哪些表面發(fā)生了什么,因此在Visual Mesh中你就要把這些表面提取出來(lái)。在《T教程》中給出了提取表面的做法。你不需要困惑于那些多選項(xiàng)的菜單,那只是程序功能的選擇,把注意力集中于你要做的事情上:提取表面。你可能要提取很多表面,比如底部是和地面接觸的,屬于接觸傳熱;其它是與空氣接觸的,屬于對(duì)流和輻射傳熱。你要把它們都區(qū)分清楚。
F 夾具
夾具的數(shù)學(xué)表達(dá)就是讓某些node不能隨X、或者Y、或者Z移動(dòng)。這很簡(jiǎn)單,不需要詳細(xì)說(shuō)明。
2.1.1 保存成果和其它說(shuō)明
到現(xiàn)在為止,你得到了一個(gè)Node的集合。你需要明白的是即使做到如此程度,你也僅僅完成了解微分方程的第一步:前處理。就是所謂的建模和劃分網(wǎng)絡(luò)。在這個(gè)成果中,焊接過(guò)程的所有要素都被轉(zhuǎn)化成了可以在求解過(guò)程中能夠被識(shí)別的網(wǎng)絡(luò)。不用關(guān)心軟件是怎么識(shí)別它的,你只需要知道大概的原理,然后照著軟件操作的方法就行了,否則我們就失去了使用軟件簡(jiǎn)化工作的初衷:你需要從頭到尾開(kāi)發(fā)一個(gè)算法或者說(shuō)軟件。
Visual Mesh可以將你的成果轉(zhuǎn)化為SYSWELD可以識(shí)別的格式:.ASC文件。有些時(shí)候SYSWELD會(huì)提示找不到文件,你需要將文件重新命名:**_DATA**.ASC其中DATA前面是下斜杠,DATA后面是數(shù)字。下斜杠前面是你自己的名稱。
你必須按照《T教程》的步驟反復(fù)體會(huì)上述過(guò)程,把軟件的操作流程和這些原理結(jié)合起來(lái),你還需要額外知道很多關(guān)于數(shù)學(xué)方面的知識(shí)。不要給自己找借口,因?yàn)橹恍枰氵_(dá)到掃盲的程度就夠了。
2.1.2 導(dǎo)入SYSWELD運(yùn)算
SYSWeld的焊接求解模塊在這里:

其它幾個(gè)選項(xiàng)是其它的模塊,這里你也能發(fā)現(xiàn)SYSWELD的核心其實(shí)就是個(gè)求解器,其它領(lǐng)域的只要能夠創(chuàng)建微分方程,它都能做。如果你需要用到其它功能,自己可以慢慢研究,原理相同。
仍然以從最基本原理出發(fā)的角度解說(shuō)SYSWELD求解的過(guò)程:
2.1.1.1 微分方程物性參數(shù)的導(dǎo)入

Material DB是材料數(shù)據(jù)庫(kù)的意思,這里面存儲(chǔ)了材料的熱物性參數(shù)、熱力學(xué)數(shù)據(jù)、相變參數(shù)等等。以導(dǎo)熱系數(shù)為例,在傳熱微分方稱中,導(dǎo)熱系數(shù)其實(shí)是一個(gè)函數(shù)λ(T),表示導(dǎo)熱系數(shù)隨溫度是變化的,那么在Material DB中就提供了這樣一個(gè)二維的數(shù)組,就是溫度和導(dǎo)熱系數(shù)之間的關(guān)系。微分方程求解的時(shí)候,它就會(huì)被帶入運(yùn)算。
材料數(shù)據(jù)庫(kù)到底里面包含了哪些內(nèi)容呢?在Material DB中有個(gè)Create按鈕,點(diǎn)一下:

你會(huì)發(fā)現(xiàn)里面有那么多參數(shù),不要被搞得頭暈,實(shí)際上它們都是微分方程的參數(shù)項(xiàng)。我承認(rèn)這些參數(shù)需要比價(jià)深的材料學(xué)知識(shí)才能完全搞懂,特別諸如相變方面的參數(shù),你需要在一些材料數(shù)據(jù)庫(kù)里才能找到,世界上有很多開(kāi)放的材料數(shù)據(jù)庫(kù),可以百度一下。如果SYSWELD里提供的材料沒(méi)有你需要的,這時(shí)你就要自己創(chuàng)建了,我覺(jué)得創(chuàng)建材料庫(kù)的工作有些難度。如果我是ESI,會(huì)將開(kāi)發(fā)數(shù)據(jù)庫(kù)作為一項(xiàng)盈利的業(yè)務(wù)。
導(dǎo)入自帶的材料庫(kù)見(jiàn)《T教程》,不贅述了。
2.1.1.1 微分方程熱源項(xiàng)的導(dǎo)入
Function DB是熱源數(shù)據(jù)庫(kù),它用于導(dǎo)入微分方程的熱源項(xiàng)。這就要提到“熱源校核”,最開(kāi)始接觸到這個(gè)名字真是讓人摸不到頭腦。后來(lái)明白其實(shí)就是熱源創(chuàng)建的意思。
我們知道數(shù)學(xué)過(guò)程只會(huì)識(shí)別函數(shù),那么熱源怎么轉(zhuǎn)化為一個(gè)數(shù)學(xué)函數(shù)呢?在《焊接熱過(guò)程與熔池形態(tài)(武傳松)》這本書中詳述了原理,大家可以先掃盲。SYSWELD做了這樣一個(gè)事兒:它允許你修改熱源模型的參數(shù)值,然后在材料上觀察得到的熔池形狀是否與實(shí)際相近,如果相近就說(shuō)明你創(chuàng)建的熱源是合理的,此時(shí)把你創(chuàng)建的熱源保存成數(shù)據(jù)庫(kù)中的一員,再在SYSWELD求解時(shí)調(diào)用。
具體熱源校核(創(chuàng)建)過(guò)程見(jiàn)《T教程》,也不贅述了。
當(dāng)然,你也可以自己編寫熱源,使用的語(yǔ)言是Fortran,也不贅述。
2.1.1.2 工件網(wǎng)絡(luò)的導(dǎo)入
MESH按鈕是導(dǎo)入你在Visual Mesh中創(chuàng)建的工件,它會(huì)把你得到的工件模型導(dǎo)入進(jìn)來(lái),同時(shí)導(dǎo)入的還有焊接線、參考線、夾持、換熱面等等。
2.1.1.3 具體參數(shù)
當(dāng)你導(dǎo)入了數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)之后,就能定義求解過(guò)程的詳細(xì)參數(shù)了,每個(gè)參數(shù)的翻譯如下:

其實(shí)這很容易理解,這都是方程參數(shù)設(shè)置的菜單化。如果讓你編寫求結(jié)過(guò)程,它無(wú)非也就是這么幾個(gè)步驟。
在《T教程》中,每一步都教你如何去做了,但是有幾個(gè)原理需要知道一下:
F 關(guān)于材料庫(kù)

這個(gè)welding.mat文件就存儲(chǔ)在 你的安裝路徑\sysweld2010\ressources\fichiers_externes文件夾下面,你可以使用文本工具打開(kāi)它,如下:

我經(jīng)常使用的S355J2G3材料就在里面,后文還可以找到詳細(xì)的參數(shù)。所以你看到SYSWELD的機(jī)制其實(shí)很簡(jiǎn)單的,這個(gè)文件實(shí)際上是一個(gè)程序段,其中存儲(chǔ)了在計(jì)算過(guò)程中變量的值,引用這個(gè)文件后你就告訴了程序應(yīng)該怎樣選擇參數(shù)。另外,修改這個(gè)文件也能快速創(chuàng)建材料庫(kù)。
F 關(guān)于熱交換

這個(gè)CONVETIVE AND RADIAIVE LOSSES翻譯過(guò)來(lái)就是對(duì)流和輻射換熱,我們?cè)诘谝徊降?nbsp;FUCTION DB中導(dǎo)入的bdfct.fct中就有:

進(jìn)一步在這個(gè)文件中找到它:

這是Fortran語(yǔ)言程序段。其實(shí)就是傳熱基本公式,覺(jué)得它不準(zhǔn)可以直接改。
F 關(guān)于求解參數(shù)

右上方的那個(gè)Postprocessing點(diǎn)了之后軟件會(huì)提醒你求解文件大之類的,但是不點(diǎn)它你是得不到溫度變化率的(dT/dt)。
下面的Phase proportion是相變計(jì)算,這是定義初始相用的。比如:

從左到右依次是:鐵素體—貝氏體--………(后面的幾個(gè)忘記了,可以查幫助文檔)
關(guān)于相變和晶粒長(zhǎng)大的計(jì)算原理在TOOLBOX里有詳細(xì)的解釋:


其實(shí)都是一些理論經(jīng)驗(yàn)公式。
1. 后處理
后處理在Visual Viewer中進(jìn)行,Visual Viewer識(shí)別FDB格式的數(shù)據(jù)庫(kù)(計(jì)算結(jié)果)。



具體可以按F1查看幫助文檔,不予贅述。
1. 關(guān)于計(jì)算結(jié)果的導(dǎo)出和處理
在SYSWELD的后處理功能中,有將結(jié)果存為文件的方法:

這里我將結(jié)果存在了D:\SYSWELD\DEEP\www.txt中,它很大:

有532M,普通軟件根本打不開(kāi)或者很慢,它的數(shù)據(jù)結(jié)構(gòu)是這樣的:

我曾經(jīng)寫了一段小程序計(jì)算每一個(gè)Node的t8/5,如果你有相關(guān)的需要,那么你還要有一定的編程知識(shí)。
1. 善用TOOLBOX
ToolBox就是打開(kāi)ESI系列軟件的最好的鑰匙,唯一的缺點(diǎn)就是全英文,閱讀上有些障礙。
很多人問(wèn)關(guān)于材料庫(kù)開(kāi)發(fā)的事情,其實(shí)它就存在ToolBox中:

里面還有那個(gè)創(chuàng)建數(shù)據(jù)庫(kù)用的excel文檔(使用VBA實(shí)現(xiàn)的)。

其它的諸如算法、軟件計(jì)算的假設(shè)、近似處理的方法、操作順序、實(shí)例等等,里面一應(yīng)俱全。所有你想知道的這里都有,ToolBox是一個(gè)超級(jí)幫助文檔,你甚至可以利用它介紹的計(jì)算原理完善自己的知識(shí)體系,提高理論水平。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















