王紅軍
(遼寧衛生職業技術學院公共基礎部,遼寧 沈陽 110101)
ANSYS有限元仿真軟件在工程建模、加載、求解和后處理等操作中,通常采用兩種操作方式,即人機交互式(GUI方式)和命令流輸入式(Batch 方式)[1-2]。這兩種工作方式各有利弊,其中,GUI圖形操作方式仿真具有直觀、易于掌握和操作簡便的優點,但其修改仿真參數繁瑣,且不利于重復較復雜的工程仿真;而采用Batch命令流方式輸入APDL語句進行仿真,雖然可以大大提高仿真的效率,且便于后續仿真參數修改的操作,但ANSYS軟件的操作命令種類繁多、參數復雜,不方便記憶[3]。
在工程仿真的過程中,經常需要輸入大量的數據參數(如建模幾何參數、單元屬性參數、載荷條件參數和后處理路徑參數等),并對這些參數進行繁瑣的反復修改,通過多次調試達到預期的仿真結果。
本文通過多次的仿真試驗,提出了一種ANSYS變參數交互式的仿真方法。該方法充分發揮了兩種仿真方式的優點,解決了上述ANSYS工程仿真過程中遇到的問題,大大提高了仿真效率。
變參數綜合仿真法綜合應用人機交互GUI圖形操作方式和命令流輸入方式。其操作流程如圖1所示。

圖1 變參數綜合仿真法流程圖Fig.1 Flowchart of variable-parameter simulation method
首先,對仿真工程進行有序化的GUI圖形輸入操作,依次導出對應GUI操作的APDL命令語句,并將這些語句作為后續修改的代碼模板;其次,批處理相似的GUI圖形操作,如給模型的多個幾何面賦予不同的單元屬性時,找出一個面賦予一個屬性的APDL命令源代碼,多次復制后修改對應的面序號參數和單元序號參數,生成批處理命令流;接著,將代碼中的數值參數修改為變量參數,可修改為交互式變量代碼或非交互式變量代碼;最后,保存上述仿真處理生成的.db文件,將其作為后處理的初始狀態,并針對性地修改后處理命令流。
這種仿真方法充分發揮了以上兩種仿真方式的各自優勢,在便于操作的同時大大提高了ANSYS工程的仿真效率,使仿真操作變得更加快捷而有序化。
首先,將要進行ANSYS仿真的工程劃分為幾步,如2D或3D的幾何參數建模、工程單元參數的定義與賦予、載荷條件的加載與求解等[4-5]。然后,利用 GUI圖形方式分步進行操作,通過ANSYS過濾功能,依次選中修改對象,并在彈出參數提示框中輸入工程數值,如對一個2D的幾何面進行建模并賦予對應的單元屬性操作。最后,利用ANSYS自動記錄與GUI操作對應的APDL命令流日志功能,在文件下拉菜單中導出命令流代碼,將其保存為英文文件名的.txt文本,并保存此狀態下的.db仿真結果文件。確認此前的仿真操作無誤后,清空自動保存的命令流日志,導入剛剛保存的.db仿真結果文件,再進行下一步工程的GUI操作。依此類推,可以得到對應工程仿真各個步驟的.txt命令流文本。
以上各步驟保證了每一步工程仿真都有與之相對應的正確命令流代碼,且得到的每個命令流文本都相對獨立,便于后續的批處理和參數修改,從而盡可能減少不必要的重復操作,使工程仿真有序化。
針對工程仿真過程中出現的大量相似操作,可以從.txt命令流中找出相應的APDL源代碼作為操作模板,修改參數并進行批處理導入[6]。這就可以解決復雜模型中不易選中指定操作對象的難題,且大大減少了GUI方式下繁瑣的圖形輸入操作。
由于上述操作得到的命令流代碼都相對獨立,很容易找出相似典型操作代碼的開始和結束,同時,由于GUI圖形操作方式和命令流輸入方式對于同一種操作對應的APDL命令流也不盡相同,所以在滿足操作結果的前提下,不必考慮具體APDL命令流的代碼細節,找到需要修改的關鍵參數位置即可。如將之前定義的1單元材料屬性賦予幾何面1,無需考慮其他的代碼細節,然后找出對應的參數位置進行修改,修改后將之前定義的2單元材料屬性賦予幾何面2。依此類推,完成相似代碼的批處理操作。具體示例如下。

針對上述APDL代碼,找出相應參數后對數據進行修改。具體示例如下。

為達到ANSYS工程的預期仿真效果,需要在操作過程中不斷地修改工程參數。上述仿真操作都是基于定值參數進行的,一旦需要修改,更改參數的工作量大且易于出錯,而將工程命令流更改為變參數形式就可以解決這個難題[7]。確認各步定值仿真.txt文本的命令流準確無誤后,分析變量參數之間的邏輯關系,盡可能地減少變量數目,用已知變量通過邏輯表達式來表示命令流中的未知變量。在直角三角形中,可以定義斜邊c和銳角α兩個變量參數來表示直角邊csinα和ccosα;而不是定義斜邊c、直角邊a和直角邊b三個變量參數。
定值參數的APDL命令流可以修改為交互式變量代碼或非交互式變量代碼,這兩種方式都是在命令流的起始位置修改。前者在運行時會彈出參數輸入對話框,操作者依據提示輸入修改后的參數值;后者沒有彈出的對話框,需要在APDL代碼開始時給各個參數變量賦值,在后續命令流中將相應的定值替換成具有特定邏輯關系的變量表達式[8]。
2.3.1 交互式變量代碼
應用APDL命令可以構造出一個簡單的多行提示對話框,一次最多可以包含10個參數輸入提示和賦值框。需要注意的是:交互式變量代碼的命令流只可采用文件下拉菜單進行導入,不能從ANSYS命令對話框導入。
例如設置一個輸入5個參數的提示對話窗口,“/PREP7”表示進入仿真的前處理階段,“multipro,‘start’,5”設置對話框有5個輸入參數。依次填寫參數序號、變量名稱、參數輸入提示和參數默認值。在“*cset,61,62,”處填寫此頁對話框的提示行,在“multipro,‘end’”處結束設置。操作代碼如下。

2.3.2 非交互式變量代碼
非交互式變量代碼運行后,不再出現提示對話框。非交互式變量代碼的命令流既可以在文件下拉菜單中導入,也可以從ANSYS命令對話框中導入。在APDL命令流起始處,添加以下變量賦值表達式。

ANSYS的工程仿真包括前處理和后處理,前處理載荷運算的求解時間較長,一旦需要修改后處理的參數,就必須重復一遍前處理運算。為了提高效率,可以將前處理得到的結論保存為.db文件,進行后處理時,先導入保存的.db文件,將其作為后處理的初始狀態,從而針對性地修改后處理命令流。重新進行后處理時,再次恢復初始狀態重新開始即可。這就極大地縮短了仿真時間,且由于初始狀態一致,保證了仿真數據結論的可靠性。
本文結合ANSYS仿真的人機交互(GUI)和命令流(Batch)輸入兩種操作方式,充分利用了GUI圖形操作較靈活和命令流批處理操作易于修改的優點,提出了一種變參數綜合仿真法,并詳述了具體的操作步驟,包括:導出分步GUI操作的命令流、批處理相似操作代碼、修改為交互式或非交互式變量代碼、后處理已保存的求解文件。
應用此仿真方法縮短了仿真時間,提高了操作效率,使工程操作更加有序,同時也令ANSYS仿真變得更加靈活。
[1]閻照文.ANSYS 10.0工程電磁分析技術與實例詳解[M].北京:中國水利水電出版社,2006:43-44.
[2]鄧凡平.ANSYS 10.0有限元分析自學手冊[M].北京:人民郵電出版社,2007:150-152.
[3]李鶯鶯,靳世久,魏茂安.管道漏磁法檢測的ANSYS仿真研究[J].無損檢測,2005,27(2):72 -76.
[4]張玉良,闕沛文,黃作英.漏磁檢測的仿真和實驗研究[J].傳感器與微系統,2006,25(8):29 -31.
[5]龔曙光,謝桂蘭,黃云清.ANSYS參數化編程與命令手冊[M].北京:機械工業出版社,2009:15-26
[6]曾攀,雷麗萍,方剛.基于ANSYS平臺有限元分析手冊-結構的建模與分析[M].北京:機械工業出版社,2011:33-35.
[7]王新敏.ANSYS工程結構數值分析[M].北京:人民交通出版社,2007:101-105.
[8]張樂樂,蘇樹強,譚南林.ANSYS輔助分析應用基礎教程上機指導[M].北京:清華大學出版社,2007:99-115.