李猛,于存貴,齊賢偉,崔二巍
(南京理工大學(xué),江蘇 南京 210094)
ABAQU 是目前先進(jìn)的非線性有限元分析軟件,在汽車(chē)、材料科學(xué)、航空航天、兵器等行業(yè)得到了廣泛的應(yīng)用。ABAQUS 給用戶提供了多種開(kāi)發(fā)方式,通過(guò)二次開(kāi)發(fā)接口用戶可以實(shí)現(xiàn)擴(kuò)展單元類(lèi)型庫(kù)、材料類(lèi)型庫(kù)以及改善ABAQUS 前后處理等功能。
由于ABAQUS 強(qiáng)大的計(jì)算能力,該軟件在汽車(chē)領(lǐng)域的應(yīng)用日趨廣泛。在設(shè)計(jì)階段,工程人員需要研究多個(gè)尺寸參數(shù)下的結(jié)構(gòu)動(dòng)態(tài)特性。如果在每次改變參數(shù)時(shí)都需要重新建立有限元模型,就會(huì)影響工作效率、增加計(jì)算代價(jià)。通過(guò)ABAQUS 自帶的應(yīng)用程序接口,用戶可以使用Python 語(yǔ)言編寫(xiě)新的用戶圖形界面和前、后處理內(nèi)核腳本,實(shí)現(xiàn)快速的建模、計(jì)算等。
ABAQUS 具有多種二次開(kāi)發(fā)功能,比如:使用用戶子程序可以實(shí)現(xiàn)創(chuàng)建新的單元類(lèi)型、自定義接觸條件、自定義材料特性等功能;通過(guò)編寫(xiě)內(nèi)核腳本可實(shí)現(xiàn)前處理參數(shù)化建模和后處理分析等功能;使用編寫(xiě)GUI 腳本可創(chuàng)建新的圖形用戶界面。
復(fù)雜模型的建模,通常會(huì)包含繁瑣并且重復(fù)的鼠標(biāo)操作,耗費(fèi)了工程人員大量精力。因此,利用二次開(kāi)發(fā)接口編寫(xiě)可執(zhí)行應(yīng)用程序,可以創(chuàng)建友好的圖形用戶界面、設(shè)計(jì)人機(jī)交互機(jī)制和建模內(nèi)核腳本,最終實(shí)現(xiàn)快捷的參數(shù)化建模。
ABAQUS 程序語(yǔ)言是對(duì)Python 編程語(yǔ)言的繼承和擴(kuò)展。Python 語(yǔ)言可用于編寫(xiě)自定義用戶圖形界面和編寫(xiě)實(shí)現(xiàn)仿真過(guò)程的各種命令。在自定義圖形用戶界面中調(diào)用Python 編寫(xiě)的各類(lèi)命令,并將這些命令發(fā)送到ABAQUS/CAE 內(nèi)核中執(zhí)行,實(shí)現(xiàn)腳本命令與內(nèi)核的交換運(yùn)作。ABAQUS 中各類(lèi)命令與內(nèi)核的交互方式如圖1所示。

圖1 ABAQUS 命令與ABAQUS/CAE 內(nèi)核交互運(yùn)作方式
在車(chē)輛的有限元分析中,通過(guò)進(jìn)行模態(tài)分析,進(jìn)而研究車(chē)輛的振動(dòng)特性,已經(jīng)成為仿真的重要內(nèi)容。其中駕駛室、車(chē)架總成的模態(tài)分析對(duì)指導(dǎo)車(chē)輛的動(dòng)態(tài)性能匹配具有重大指導(dǎo)意義。
車(chē)架模態(tài)分析二次開(kāi)發(fā)需要的文件類(lèi)型主要有三類(lèi):以bat 為后綴的批處理文件、以py 為后綴的Python 文件和png 格式圖片文件,如圖2 所示。

圖2 二次開(kāi)發(fā)所需文件類(lèi)型
雙擊批處理文件,就可調(diào)用已編寫(xiě)的GUI 腳本,開(kāi)啟Abaqus 軟件并進(jìn)入自定義的GUI,如圖3 所示。在該GUI中通過(guò)下列語(yǔ)句可以建立新的模態(tài)分析模塊。
AFXMainWindow.__init__(self,app,windowTitle)
self.registerModule('模態(tài)分析','jianpaoModuleGui')
在本模塊中添加駕駛室和車(chē)架的圖標(biāo),隱藏其他按鈕,保持了界面的簡(jiǎn)潔。

圖3 自定義GUI
“模態(tài)分析”模塊用于實(shí)現(xiàn)車(chē)架及駕駛室的參數(shù)化模態(tài)分析。圖3 中左側(cè)的車(chē)架、駕駛室圖標(biāo)分別用于觸發(fā)兩總成的分析過(guò)程。其中用于建立觸發(fā)按鈕的語(yǔ)句格式為:AFXToolButton(group,'Label',icon,F(xiàn)orm,AFXMode.ID_ACTIVATE)。點(diǎn)擊車(chē)架圖標(biāo)進(jìn)入車(chē)架建模界面,通過(guò)修改“車(chē)架建模參數(shù)”區(qū)域的參數(shù)可以實(shí)現(xiàn)參數(shù)化建模,比如橫梁間的距離。用于建立模型的kernel command 由以下幾部分組成:
object+method +arguments(keywords),即“對(duì)象+方法+參數(shù)”。比如建立三維實(shí)體的語(yǔ)句為:
mdb.models['Model-1'].Part(name=‘ban',dimensionality=THREE_D,type=DEFORMABLE_BODY),其中“mdb.models['Model-1']”為對(duì)象,“Part”為方法,“name,dimensionality,type”為參數(shù)。
點(diǎn)擊車(chē)架圖標(biāo),就進(jìn)入車(chē)架建模參數(shù)定義界面界面,如圖4。圖4 的右側(cè)顯示了可以修改的幾何參數(shù)以及材料類(lèi)型。

圖4 車(chē)架建模參數(shù)定義
模型尺寸參數(shù)以及材料參數(shù)修改完畢后,點(diǎn)擊“確定”完成建模過(guò)程并彈出模態(tài)分析參數(shù)定義對(duì)話框,如圖5。通過(guò)該對(duì)話框選擇需要進(jìn)行分析的部件,以及需要進(jìn)行分析的階次,就可進(jìn)行模態(tài)分析。對(duì)于其他的分析設(shè)置,在內(nèi)核中已進(jìn)行了默認(rèn)處理。分析完畢后,系統(tǒng)自動(dòng)彈出自定義的后處理界面。在該界面中可以通過(guò)點(diǎn)擊模態(tài)階次列表選擇需要顯示的階次圖像,圖6 中,為車(chē)架一階模態(tài)分析結(jié)果,左側(cè)為列出了各階的固有頻率值,方便工程人員直接讀取。

圖5 模態(tài)分析參數(shù)定義


圖6 模態(tài)分析結(jié)果顯示
用自定義的GUI 及車(chē)架參數(shù)化建模的腳本文件對(duì)車(chē)架進(jìn)行了模態(tài)分析,本文方法實(shí)現(xiàn)了模態(tài)分析的自動(dòng)化和參數(shù)化。為整個(gè)有限元仿真過(guò)程除去了大量重復(fù)操作,提高了仿真的效率。
[1]曹金鳳,王旭春,孔亮.Python 語(yǔ)言在Abaqus 中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2011.
[2]謝俊,楊越,高偉.Python 參考手冊(cè)[M].北京:人民郵電出版社,2011.
[3]黃霖.Abaqus/CAE 二次開(kāi)發(fā)功能與應(yīng)用實(shí)例[J].計(jì)算機(jī)輔助工,2011,20(4):96-100.
[4]石亦平,周玉蓉.ABAQUS 有限元分析實(shí)例詳解[M].北京:機(jī)械工業(yè)出版社,2010.