帶內熱源的UMATHT子程序入門小例子

        最近用到了相變生熱這部分的內容,技術鄰查了沒找到對應的教程。自己探索了一段時間,下面將在abaqus幫助文檔里的例子基礎上。結合傳熱學的理論,介紹在UMATHT實現內熱源生熱,并與用abaqus的HETVAL子程序的結果做對比,驗證正確性。(注:這個例子很簡單,大家可以根據需要進一步開發)

1.導熱微分方程

        為了更好得理解UMATHT需要定義變量,先介紹一下一維導熱微分方程(三維可類似推廣)。

UM2.png基于能量守恒定律,以上圖一維導熱微體積元為例,流入體積元內的熱量+內生熱量等于內能的變化+流出體積元的熱量,如下式:

UM3.png

將能量的具體表達式代入:

UM4.png

其中,q是熱流密度(W/m2),A是體積元一個截面的面積(m2),Q是生熱量(W/m3),detaU是內能變化(J),方程左右兩邊的單位是對應的1J=1W/s。(單位用m,s對應的)

下面用傅里葉定律和內能變化的公式表示熱流密度和內能變化:

UM5.png

其中K是熱導率(W/m/K),代入(2)式:

UM6.png

消掉相同的項、移項,兩邊同時除以Adxdt,得到:

UM7.png

        從這個偏微分方程中可以看出,我們給出熱導率、內熱源項、比熱容、密度這些參數。結合初始條件、邊界條件就可以求解溫度場。

2.UMATHT簡要介紹 

帶內熱源的UMATHT子程序入門小例子的圖7

        UMATHT主要是用來定義材料的熱本構,適用于帶內熱源的傳熱過程。與UMAT必須定義雅可比矩陣和更新后應力類似,下圖中列出了UMATHT在使用過程中必須定義內能隨溫度的變化等變量:

UM8.png

        包括U內能,(這里需要注意一下,U的單位是單位質量的內能與前面方程中推導的過程中不同,后面加入內熱源項需要考慮)。其他變量在后面的例子中再介紹。

2.帶內熱源的小例子

        建一個1m*1m*1m的立方體,給定密度7900(kg/m3),熱導率50(W/m/K),比熱容500(J/kg/K)。hetval子程序使用的時候要在Thermal中選擇Heat Generation,要不然子程序不起作用。

UM9.png

初始溫度0度,時間步長5s總共50s。HETVAL子程序里面FLUX的單位是(J/m3/s),根據detaU=c*m*dt只有內熱源產熱的時候升溫速率每秒升高10度:

UM10.png

在HETVAL中給定FLUX(1):

UM11.png

提交計算,結果符合理論:

UM12.png        下面介紹UMATHT子程序中實現相同的效果,在UMATHT子程序中的設置如下:

UM13.png

主要是內生熱量的轉換,在hetval中是J/m3/s,而在UMATHT中U的單位是J/kg。需要除一下密度轉換成J/kg/s,通過dU更新時要在乘dtime轉化成J/kg。其他的內容可以根據給出的公式及abaqus幫助中的例子理解。

結果如下,與HETVAL是一致的:

UM14.png

        當然如果你的生熱模型中相變潛熱等內生熱量的單位是J/kg,不是溫度和時間的函數而只是溫度的函數,直接在更新du的時候加上潛熱就可以了,不用乘dtime。這個可以參考abaqus的umatht中的另一個例子。

附件中給出了所用模型cae,inp和hetval、umatht文件。

以下內容為付費內容,請購買后觀看

   155人購買

abaqus2020模型、HETVAL和UAMTHT子程序

App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

41
32
38