曹金鳳,王志文,高 明,賈舒安,孫志偉,薛茂林,張澤明
(1.青島理工大學(xué) 機(jī)械與汽車工程學(xué)院,山東 青島 266520;2.賽輪集團(tuán)股份有限公司,山東 青島 264200)
進(jìn)入新世紀(jì),國(guó)內(nèi)各大輪胎企業(yè)為提高產(chǎn)品質(zhì)量,降低生產(chǎn)成本,在輪胎設(shè)計(jì)與研發(fā)過(guò)程中投入了大量的人力和財(cái)力。隨著計(jì)算機(jī)技術(shù)的發(fā)展,CAE仿真作為一項(xiàng)成熟的計(jì)算機(jī)工程輔助技術(shù)被越來(lái)越多地應(yīng)用到輪胎設(shè)計(jì)研發(fā)過(guò)程中[1]。輪胎性能的研究也由單純的試驗(yàn)逐漸轉(zhuǎn)變?yōu)樵囼?yàn)與仿真技術(shù)相結(jié)合。
Abaqus軟件作為目前國(guó)際上最為先進(jìn)的通用非線性有限元仿真分析軟件之一,廣泛應(yīng)用于機(jī)械制造、石油化工、航空航天、汽車交通、土木工程以及電子工程等科學(xué)研究領(lǐng)域[2-3]。由于Abaqus軟件具有豐富的材料屬性庫(kù)和單元庫(kù),因此多數(shù)企業(yè)和科研機(jī)構(gòu)使用其進(jìn)行產(chǎn)品性能仿真。Abaqus軟件應(yīng)用領(lǐng)域較多,用戶要獲得設(shè)計(jì)仿真所需的專用功能,則需通過(guò)編寫(xiě)腳本的方式對(duì)Abaqus軟件進(jìn)行二次開(kāi)發(fā)。國(guó)內(nèi)外眾多學(xué)者針對(duì)各自相關(guān)領(lǐng)域?qū)baqus軟件進(jìn)行了二次開(kāi)發(fā),霍永強(qiáng)等[4]基于Python語(yǔ)言對(duì)Abaqus軟件進(jìn)行二次開(kāi)發(fā),建立冷滾打成形參數(shù)化建模插件,僅需要在交互界面中改變相對(duì)應(yīng)的模型尺寸及工藝參數(shù),就可以快速建立有限元仿真模型。宋穎等[5]用Python語(yǔ)言開(kāi)發(fā)了圓柱形橡膠堆快速建模和結(jié)果分析的程序,實(shí)現(xiàn)了前處理參數(shù)化建模及后處理結(jié)果輸出的自動(dòng)化。曹金鳳等[6]基于Python語(yǔ)言和C#語(yǔ)言研發(fā)的輪胎多方案有限元分析結(jié)果自動(dòng)后處理系統(tǒng)可以根據(jù)需求自動(dòng)獲取、處理Odb文件中的海量數(shù)據(jù),將分析結(jié)果自動(dòng)生成PPT有限元分析報(bào)告。G.HUAN等[7]針對(duì)Abaqus軟件中裝配體內(nèi)應(yīng)力分布不均勻等問(wèn)題,基于Python語(yǔ)言編寫(xiě)了能計(jì)算應(yīng)力值的插件。劉湘云等[8]基于Abaqus腳本語(yǔ)言Python開(kāi)發(fā)了含開(kāi)孔復(fù)合材料層壓板剩余強(qiáng)度分析快速建模程序,通過(guò)人機(jī)交互實(shí)現(xiàn)參數(shù)化自動(dòng)建模。郭玲等[9]開(kāi)發(fā)了針對(duì)薄壁管數(shù)控彎曲應(yīng)用的Abaqus軟件后處理程序,可用于薄壁管彎曲起皺的判斷和起皺區(qū)域的確定以及最大壁厚減薄量的計(jì)算和其所在位置的確定。以上專家學(xué)者對(duì)Abaqus軟件的二次開(kāi)發(fā)在一定程度上都實(shí)現(xiàn)了Abaqus/CAE未有的專屬功能。
輪胎的每一次性能仿真后均需對(duì)結(jié)果進(jìn)行后處理,提取數(shù)據(jù)、整理成報(bào)告并保存到相應(yīng)的文件夾中。仿真分析是一項(xiàng)耗時(shí)很長(zhǎng)的工作,再加上重復(fù)、繁瑣冗雜的后處理工作,對(duì)CAE工程師是一個(gè)極大的考驗(yàn)[10]。為避免耗時(shí)長(zhǎng)、效率低的數(shù)據(jù)整理工作,使CAE工程師從繁雜重復(fù)的整理工作中解脫出來(lái),將更多的時(shí)間和精力用于研發(fā)新產(chǎn)品,本工作基于Python語(yǔ)言和Abaqus軟件,設(shè)計(jì)開(kāi)發(fā)了一款針對(duì)輪胎仿真結(jié)果后處理的插件,可實(shí)現(xiàn)軟件背景顏色、圖例字體和風(fēng)格、云圖變形選項(xiàng)的選擇及模型旋轉(zhuǎn)、動(dòng)畫(huà)顯示與保存、場(chǎng)變量和歷史變量結(jié)果輸出等功能,無(wú)需在Abaqus軟件后處理界面中執(zhí)行大量重復(fù)的操作,能夠極大地提高仿真工程師的工作效率。
Abaqus是功能強(qiáng)大的非線性有限元分析軟件,其自帶的Python二次開(kāi)發(fā)接口具有簡(jiǎn)單易學(xué)、功能強(qiáng)大、模塊化、可擴(kuò)展性、開(kāi)源、免費(fèi)面向?qū)ο蟮葍?yōu)點(diǎn),可以方便地開(kāi)發(fā)自動(dòng)前處理、分析結(jié)果后處理、材料庫(kù)定制、GUI插件開(kāi)發(fā)等任務(wù)[11-12]。
Abaqus/CAE將用戶在其圖形界面中進(jìn)行的各種操作轉(zhuǎn)化成內(nèi)核命令解釋執(zhí)行,因此可將需要多次重復(fù)執(zhí)行的一系列繁雜的后處理操作過(guò)程編寫(xiě)成Abaqus/CAE內(nèi)核腳本程序,用戶只需執(zhí)行腳本并設(shè)定相應(yīng)參數(shù),就能快捷、方便地完成同一后處理流程的多次重復(fù)操作。
Abaqus GUI程序開(kāi)發(fā)為用戶提供一個(gè)交互式的圖形操作界面,方便用戶進(jìn)行相關(guān)操作,其最終目的仍是通過(guò)執(zhí)行Abaqus/CAE內(nèi)核命令實(shí)現(xiàn)復(fù)雜的有限元后處理流程。Abaqus/CAE GUI界面與內(nèi)核命令之間的交互方式如圖1所示。Abaqus軟件主要包括3類對(duì)象模型:Session,Mdb和Odb對(duì)象,而后處理二次開(kāi)發(fā)主要是對(duì)結(jié)果數(shù)據(jù)庫(kù)對(duì)象Odb進(jìn)行操作,將數(shù)據(jù)提取并保存到指定文件夾,供后續(xù)調(diào)用。
圖1 Abaqus/CAE GUI與內(nèi)核命令通信關(guān)系
本研究選用某型號(hào)輪胎,基于AutoCAD軟件繪制輪胎材料分布圖,將其導(dǎo)入Abaqus軟件生成有限元模型,如圖2所示。在Abaqus/CAE中模擬輪胎與路面的接觸過(guò)程,設(shè)置仿真工況如下:rebar加強(qiáng)筋單元嵌入橡膠基體單元,模擬骨架材料對(duì)輪胎橡膠的增強(qiáng)作用,路面模擬為剛體;固定輪輞并向輪胎內(nèi)表面施加0.32 MPa的壓力來(lái)模擬輪胎充氣過(guò)程;分析路面與輪胎接觸狀況,施加總車質(zhì)量1/4的負(fù)荷完成輪胎加載[13]。分析完成后將Odb文件保存到指定文件夾。
圖2 輪胎有限元模型
本工作基于Abaqus的GUI腳本和內(nèi)核腳本開(kāi)發(fā)了Visual Setting和Output兩個(gè)插件,實(shí)現(xiàn)了輪胎仿真分析結(jié)果處理自動(dòng)化,實(shí)現(xiàn)過(guò)程如下。
(1)將輪胎后處理分析中的代碼宏錄制完畢,所有的Python命令都已寫(xiě)入安裝根目錄的abaqusMacros.py宏文件,用戶可以根據(jù)需求對(duì)該文件進(jìn)行編輯,生成內(nèi)核腳本文件。
(2)使用Abaqus/CAE的Plug-ins子菜單中的RSG對(duì)話框構(gòu)造器,設(shè)計(jì)制作自動(dòng)后處理插件。
(3)使用RSG對(duì)話框構(gòu)造器創(chuàng)建自定義圖形用戶界面,并將內(nèi)核腳本文件與GUI標(biāo)簽頁(yè)中的內(nèi)核函數(shù)綁定,實(shí)現(xiàn)參數(shù)傳遞,完成參數(shù)化程序設(shè)計(jì)。
基于Abaqus軟件后處理腳本的開(kāi)發(fā)有兩種方法,分別是直接編寫(xiě)腳本和錄制宏文件。對(duì)于在Abaqus/CAE界面中能夠完成的操作,采用錄制宏文件的方法生成腳本的效率更高,因此本工作選用錄制、修改宏文件的方法生成腳本。
啟動(dòng)Abaqus/CAE界面,創(chuàng)建新的宏文件并錄制,如圖3所示。
圖3 錄制宏文件界面
首先,利用Abaqus軟件自帶的openOdb()函數(shù)打開(kāi)Odb文件,并創(chuàng)建窗口,代碼如下:
在Abaqus/CAE后處理過(guò)程中需要重復(fù)操作的步驟,例如設(shè)置圖例的字體、修改窗口的背景顏色等都需要錄制。修改背景顏色的代碼示例如下:
其中,不同的符號(hào)和字母組合表示不同的顏色,#FFFFFF代表白色,#FF0000代表紅色,#A3B1C6代表默認(rèn)的漸變色。
設(shè)置圖例的字體、大小、與視圖窗口距離的代碼(其中選擇字體為Times New Roman,字號(hào)為14,距離視窗左上的水平與豎直距離分別設(shè)為形參X,Y)如下所示:
如果后處理中需要繪制動(dòng)畫(huà),可錄制如下所示代碼:
輪胎仿真分析輸出結(jié)果通常以圖和表的形式顯示,因此需要在Abaqus/CAE界面中錄制繪制應(yīng)力、應(yīng)變、位移曲線圖所需的代碼,部分代碼如下:
上述代碼中,將PART-1-1部件中的1號(hào)節(jié)點(diǎn)的應(yīng)力數(shù)據(jù)以曲線圖的形式顯示。
完成代碼錄制后,打開(kāi)Abaqus軟件安裝根目錄下的abaqusMacros.py文件,修改編輯錄制代碼,實(shí)現(xiàn)步驟如下。
(1)導(dǎo)入相應(yīng)的Abaqus模塊、Excel數(shù)據(jù)處理模塊。
(2)刪除import section,import regionToolset等宏文件自動(dòng)導(dǎo)入的相關(guān)模塊代碼行和Abaqus自動(dòng)生成的視窗代碼行。
(3)定義各個(gè)變量的參數(shù),即插件制作中的Keyword參數(shù)。
(4)設(shè)定插件中的Text與腳本中的變量參數(shù)一一對(duì)應(yīng),實(shí)現(xiàn)Abaqus GUI與內(nèi)核命令之間的正確通訊。
(5)導(dǎo)入Python中的第三方數(shù)據(jù)庫(kù)xlwt,xlrt,將Odb文件中的計(jì)算數(shù)據(jù)導(dǎo)入Excel。讀取Odb文件中數(shù)據(jù)的代碼如下:
(6)腳本修改完成后重新保存為.houchuli.py文件,便于后續(xù)插件制作時(shí)調(diào)用。
Python核心代碼開(kāi)發(fā)完成后,為了使各參數(shù)輸入更加便捷、高效,還需要定義參數(shù)輸入界面。使用Abaqus軟件自帶的RSG快速創(chuàng)建插件(Ping-in)的方法來(lái)定義參數(shù)輸入界面。實(shí)現(xiàn)方法如下:在Abaqus/CAE中選擇Plug-ins菜單→Abaqus→RSG Dialog Builder,彈出RSG對(duì)話框構(gòu)造器操作。
修改標(biāo)題為Visual Settings,設(shè)置單選按鈕(Radio Button),Keyword與腳本中定義的函數(shù)要一致,且多個(gè)單選按鈕共用一個(gè)Keyword,設(shè)定某個(gè)單選按鈕的文本為默認(rèn),按照同樣的方法設(shè)置其他單選按鈕。
設(shè)置文本框按鈕,文本標(biāo)簽為文本名,類型選擇Float,Keyword設(shè)置與腳本中參數(shù)對(duì)應(yīng)。
設(shè)置插件滑塊,首先設(shè)定最小值與最大值,選擇整數(shù)類型,并設(shè)定好Keyword和Default。設(shè)置組合框類型為Standard,并分別設(shè)置組合框中各個(gè)項(xiàng)目文本名。
按照上述方法完成插件輸入界面的設(shè)置,如圖4所示。
圖4 Visual Setting插件RSG對(duì)話框設(shè)置效果界面
切換到Kernel標(biāo)簽頁(yè),選擇修改后宏文件houchuli.py來(lái)加載內(nèi)核模塊,在下拉列表中選擇houchuli函數(shù),如圖5所示。重新切換到GUI標(biāo)簽頁(yè),保存對(duì)話框,設(shè)計(jì)完成后的界面如圖6所示。此時(shí),所有的插件文件都保存于根目錄的abauqs_plugins文件夾。
圖5 內(nèi)核模塊綁定效果
圖6 模型視圖處理輸入界面
按照同樣的方法制作將Odb文件中的數(shù)據(jù)輸出到指定文件夾下Excel表中的插件,效果如圖7所示。
圖7 Odb文件數(shù)據(jù)輸出選擇界面
重新啟動(dòng)Abaqus/CAE,Plug_ins菜單下將出現(xiàn)本次開(kāi)發(fā)的兩款插件Visual Setting和Output。
選擇和輸入制定的模型后處理參數(shù),單擊OK按鈕,Abaqus/CAE窗口視圖即出現(xiàn)如圖8所示的效果圖,用戶可以隨時(shí)截圖或者選擇輸出圖片到指定文件夾。
圖8 插件運(yùn)行效果展示圖
本工作基于Abaqus軟件內(nèi)置的Python二次開(kāi)發(fā)接口,通過(guò)修改錄制宏文件的方法,開(kāi)發(fā)了針對(duì)輪胎仿真分析處理Odb文件的兩款插件,得到下列結(jié)論。
(1)對(duì)于開(kāi)發(fā)的輪胎仿真分析后處理插件,用戶只需選擇要處理的Odb文件,按照需求指定輸出數(shù)據(jù),單擊OK按鈕,數(shù)據(jù)即自動(dòng)保存到指定的文件夾中,可大幅減少CAE工程師數(shù)據(jù)整理的工作量,將原需要數(shù)小時(shí)甚至幾天的數(shù)據(jù)處理工作縮短至3 min內(nèi)完成,大大提高了仿真后處理的效率。
(2)所開(kāi)發(fā)插件與Abaqus軟件無(wú)縫連接,用戶使用Abaqus軟件對(duì)輪胎模型仿真分析得到Odb文件后,可直接在Plug-ins菜單下選用插件對(duì)數(shù)據(jù)結(jié)果進(jìn)行整理,方便快捷。
(3)采用Python語(yǔ)言對(duì)Abaqus軟件進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)輪胎有限元分析結(jié)果的自動(dòng)后處理,該研究思路和開(kāi)發(fā)方法可推廣應(yīng)用于機(jī)械、汽車、航空航天等領(lǐng)域。