ANSYS經典中使用APDL語言施加移動高斯熱源

很多人在使用ANSYS模擬焊接和增材制造過程中都面臨高斯熱源施加的難題,現在我來演示一下如何在ANSYS經典中使用APDL語言施加高斯熱源,以及如何實現熱源的移動。

打開經典界面,然后選擇Parameters→FunctionsDefine/Edit

ANSYS經典中使用APDL語言施加移動高斯熱源的圖1

然后在彈出的Function Editor中選取你想要輸入的熱源函數,我這里使用了一個高斯體熱源函數,也可以替換成高斯面熱源或者雙橢球熱源,具體函數請自行查找文獻

ANSYS經典中使用APDL語言施加移動高斯熱源的圖2

點擊Save后,保存后綴名為.func的函數文件,其名稱為func11.func

ANSYS經典中使用APDL語言施加移動高斯熱源的圖3

ANSYS經典中使用APDL語言施加移動高斯熱源的圖4

然后退出,重新選擇Parameters→FunctionsRead From file

選擇剛才定義的函數

ANSYS經典中使用APDL語言施加移動高斯熱源的圖5

ANSYS經典中使用APDL語言施加移動高斯熱源的圖6

此時彈出對話框,要求輸入函數的名稱,及對應的參數的大小,我們定義名稱為gauss,兩個參數常量分別為qmx=1,r=1,局部坐標系選0就意味著這個函數是在全局坐標系中施加的,可以換成其他已經定義的任何局部坐標系

ANSYS經典中使用APDL語言施加移動高斯熱源的圖7

然后點擊ListFilesLog file

然后我們就可以發現在Log file文件里自動生成了函數func11對應的數據表,其是一個維度6*20Table表,我們在array parameter中也可以查看其具體數據,為什么會生成這段呢,其實就是ANSYS根據你所定義的函數,自動生成了一個Table表做了這個函數的插值,這樣系統在計算時就可以根據這個Table表進行對應的索引,生成任何你想要的函數值了。

我們將這段代碼復制下來,放在自己的代碼里,在每一步熱源加載時都調用,就實現了任意熱源函數的定義

ANSYS經典中使用APDL語言施加移動高斯熱源的圖8

ANSYS經典中使用APDL語言施加移動高斯熱源的圖9

ANSYS經典中使用APDL語言施加移動高斯熱源的圖10

那么,如何調整輸入參數呢,我們注意到生成的這段代碼里面的*Set,_FNC_C1(1),qmx,這句話就是定義了生成的參數的大小,通過修改這里的qmx的值,我們可以定義熱源函數的功率,通過修改r的值,我們可以修改熱源函數的半徑。

ANSYS經典中使用APDL語言施加移動高斯熱源的圖11

那么現在我們生成了不動的熱源函數,那么如何實現熱源函數的移動呢?有兩種方法,一種是定義一個隨時間變化的函數,比如我們的熱源沿X方向移動,那么我就在上面的X項中插入一項V*Time,這樣這個熱源函數就會是一個隨X方向變化的熱源函數了。

ANSYS經典中使用APDL語言施加移動高斯熱源的圖12

但是顯然,這樣只適合單道焊接或熔覆,如果你的掃描路徑很復雜,或者是Z字形或涉及到多道焊或熔覆,那么這樣寫起來的代碼可能需要花一點心思定義熱源函數,我一般采用的是第二種方法,即定義局部坐標系的方法。我們定義一個局部坐標系11,并寫一個循環,讓這個循環中11的坐標原點不斷變化,而熱源函數保持不變,而熱源函數是施加在局部坐標系中的,因為局部坐標系相對于全局坐標系的位置在不斷變化,那么相應地也就實現了熱源函數在全局坐標系中的不斷變化了。

ANSYS經典中使用APDL語言施加移動高斯熱源的圖13

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

TOP

12
13
22