李猛,于存貴,齊賢偉,崔二巍
(南京理工大學,江蘇 南京 210094)
ABAQU 是目前先進的非線性有限元分析軟件,在汽車、材料科學、航空航天、兵器等行業(yè)得到了廣泛的應用。ABAQUS 給用戶提供了多種開發(fā)方式,通過二次開發(fā)接口用戶可以實現(xiàn)擴展單元類型庫、材料類型庫以及改善ABAQUS 前后處理等功能。
由于ABAQUS 強大的計算能力,該軟件在汽車領域的應用日趨廣泛。在設計階段,工程人員需要研究多個尺寸參數(shù)下的結(jié)構(gòu)動態(tài)特性。如果在每次改變參數(shù)時都需要重新建立有限元模型,就會影響工作效率、增加計算代價。通過ABAQUS 自帶的應用程序接口,用戶可以使用Python 語言編寫新的用戶圖形界面和前、后處理內(nèi)核腳本,實現(xiàn)快速的建模、計算等。
ABAQUS 具有多種二次開發(fā)功能,比如:使用用戶子程序可以實現(xiàn)創(chuàng)建新的單元類型、自定義接觸條件、自定義材料特性等功能;通過編寫內(nèi)核腳本可實現(xiàn)前處理參數(shù)化建模和后處理分析等功能;使用編寫GUI 腳本可創(chuàng)建新的圖形用戶界面。
復雜模型的建模,通常會包含繁瑣并且重復的鼠標操作,耗費了工程人員大量精力。因此,利用二次開發(fā)接口編寫可執(zhí)行應用程序,可以創(chuàng)建友好的圖形用戶界面、設計人機交互機制和建模內(nèi)核腳本,最終實現(xiàn)快捷的參數(shù)化建模。
ABAQUS 程序語言是對Python 編程語言的繼承和擴展。Python 語言可用于編寫自定義用戶圖形界面和編寫實現(xiàn)仿真過程的各種命令。在自定義圖形用戶界面中調(diào)用Python 編寫的各類命令,并將這些命令發(fā)送到ABAQUS/CAE 內(nèi)核中執(zhí)行,實現(xiàn)腳本命令與內(nèi)核的交換運作。ABAQUS 中各類命令與內(nèi)核的交互方式如圖1所示。
圖1 ABAQUS 命令與ABAQUS/CAE 內(nèi)核交互運作方式
在車輛的有限元分析中,通過進行模態(tài)分析,進而研究車輛的振動特性,已經(jīng)成為仿真的重要內(nèi)容。其中駕駛室、車架總成的模態(tài)分析對指導車輛的動態(tài)性能匹配具有重大指導意義。
車架模態(tài)分析二次開發(fā)需要的文件類型主要有三類:以bat 為后綴的批處理文件、以py 為后綴的Python 文件和png 格式圖片文件,如圖2 所示。
圖2 二次開發(fā)所需文件類型
雙擊批處理文件,就可調(diào)用已編寫的GUI 腳本,開啟Abaqus 軟件并進入自定義的GUI,如圖3 所示。在該GUI中通過下列語句可以建立新的模態(tài)分析模塊。
AFXMainWindow.__init__(self,app,windowTitle)
self.registerModule('模態(tài)分析','jianpaoModuleGui')
在本模塊中添加駕駛室和車架的圖標,隱藏其他按鈕,保持了界面的簡潔。
圖3 自定義GUI
“模態(tài)分析”模塊用于實現(xiàn)車架及駕駛室的參數(shù)化模態(tài)分析。圖3 中左側(cè)的車架、駕駛室圖標分別用于觸發(fā)兩總成的分析過程。其中用于建立觸發(fā)按鈕的語句格式為:AFXToolButton(group,'Label',icon,F(xiàn)orm,AFXMode.ID_ACTIVATE)。點擊車架圖標進入車架建模界面,通過修改“車架建模參數(shù)”區(qū)域的參數(shù)可以實現(xiàn)參數(shù)化建模,比如橫梁間的距離。用于建立模型的kernel command 由以下幾部分組成:
object+method +arguments(keywords),即“對象+方法+參數(shù)”。比如建立三維實體的語句為:
mdb.models['Model-1'].Part(name=‘ban',dimensionality=THREE_D,type=DEFORMABLE_BODY),其中“mdb.models['Model-1']”為對象,“Part”為方法,“name,dimensionality,type”為參數(shù)。
點擊車架圖標,就進入車架建模參數(shù)定義界面界面,如圖4。圖4 的右側(cè)顯示了可以修改的幾何參數(shù)以及材料類型。
圖4 車架建模參數(shù)定義
模型尺寸參數(shù)以及材料參數(shù)修改完畢后,點擊“確定”完成建模過程并彈出模態(tài)分析參數(shù)定義對話框,如圖5。通過該對話框選擇需要進行分析的部件,以及需要進行分析的階次,就可進行模態(tài)分析。對于其他的分析設置,在內(nèi)核中已進行了默認處理。分析完畢后,系統(tǒng)自動彈出自定義的后處理界面。在該界面中可以通過點擊模態(tài)階次列表選擇需要顯示的階次圖像,圖6 中,為車架一階模態(tài)分析結(jié)果,左側(cè)為列出了各階的固有頻率值,方便工程人員直接讀取。
圖5 模態(tài)分析參數(shù)定義
圖6 模態(tài)分析結(jié)果顯示
用自定義的GUI 及車架參數(shù)化建模的腳本文件對車架進行了模態(tài)分析,本文方法實現(xiàn)了模態(tài)分析的自動化和參數(shù)化。為整個有限元仿真過程除去了大量重復操作,提高了仿真的效率。
[1]曹金鳳,王旭春,孔亮.Python 語言在Abaqus 中的應用[M].北京:機械工業(yè)出版社,2011.
[2]謝俊,楊越,高偉.Python 參考手冊[M].北京:人民郵電出版社,2011.
[3]黃霖.Abaqus/CAE 二次開發(fā)功能與應用實例[J].計算機輔助工,2011,20(4):96-100.
[4]石亦平,周玉蓉.ABAQUS 有限元分析實例詳解[M].北京:機械工業(yè)出版社,2010.