徐鳳軍,高躍飛,柯 彪
(中北大學(xué) 機電工程學(xué)院,山西 太原 030051)
迫擊炮是一種彈道彎曲、體積小、質(zhì)量輕、結(jié)構(gòu)簡單、機動性良好的火炮,常作為步兵的伴隨武器,它通常由炮身、炮架、座板、瞄準(zhǔn)裝置和附件組成[1]。座板作為迫擊炮的重要組成部分,在射擊時,通過控制土壤來保證迫擊炮具有良好的后坐和復(fù)進的穩(wěn)定性,從而改善迫擊炮連續(xù)射擊能力并提高射擊精度和密集度,所以座板的結(jié)構(gòu)將直接決定迫擊炮的性能,而座板的剛度和強度是重要的設(shè)計目標(biāo)。對迫擊炮座板的工作狀況進行仿真,能夠代替?zhèn)鹘y(tǒng)的反復(fù)試驗和修改設(shè)計,大大節(jié)省設(shè)計成本和研發(fā)周期。使用有限元軟件對座板的剛度和強度進行仿真分析,可以得到迫擊炮發(fā)射時的最大變形以及應(yīng)力應(yīng)變場等數(shù)據(jù),從而檢驗設(shè)計是否達到要求,并可優(yōu)化設(shè)計、降低成本、進一步提高迫擊炮的性能。
ABAQUS是國際上先進的大型通用有限元軟件,具有豐富的單元庫,可以模擬各種復(fù)雜的線性與非線性問題[2],但其對大多設(shè)計人員而言較難掌握。本文基于ABAQUS的定制開發(fā)功能,應(yīng)用Python腳本語言和ABAQUS GUI Toolkit聯(lián)合開發(fā)技術(shù),對ABAQUS/CAE交互界面進行全面修改,定制了迫擊炮座板參數(shù)化設(shè)計系統(tǒng)。設(shè)計人員通過在系統(tǒng)的交互對話框輸入?yún)?shù)就能完成建模和仿真分析,提高了迫擊炮座板的設(shè)計效率。
在ABAQUS/CAE中進行數(shù)值模擬時,一般先由用戶環(huán)境的對話框或命令行接口收集用戶操作信息,并發(fā)出基于Python語言的腳本命令與內(nèi)核通信,然后這些腳本命令經(jīng)內(nèi)核Python解釋器逐行解釋并執(zhí)行。ABAQUS的開發(fā)方法包括:①通過用戶子程序開發(fā)新的模型,控制ABAQUS計算過程和計算結(jié)果;②通過環(huán)境初始化文件改變ABAQUS的許多缺省設(shè)置;③通過內(nèi)核腳本實現(xiàn)前處理建模和后處理分析計算結(jié)果;④通過GUI腳本創(chuàng)建新的圖形用戶界面和用戶交互。本文的系統(tǒng)設(shè)計主要基于后兩種方法。
2.1.1 圖形界面設(shè)計
ABAQUS/CAE圖形界面庫是對FOX/Toolkit的二次擴展,其中以FX開頭的為原始庫中的類,以AFX開頭的即為ABAQUS的擴展類。界面設(shè)計時為提高設(shè)計效率,利用 ABAQUS/CAE菜單欄中Plugins>Abaqus>RSG Dialog Builder打開插件編輯工具,先繪制出簡單的對話框并編排控件布局,保證對話框的條理性與美觀性,并以Standard plug-in保存,最后對保存的文件進行重新編輯,以滿足GUI工具的讀取和調(diào)用。
2.1.2 腳本程序設(shè)計
ABAQUS的內(nèi)核腳本基于Python語言,而且針對ABAQUS的具體應(yīng)用又進行了二次擴展,增加了mdb,odb 和 session 三 大 類 約 500 個 對 象[3]。ABAQUS/CAE下的所有操作都會在當(dāng)前工作目錄下的abaqus.rpy文件中給出對應(yīng)的腳本語句,所以在編制建模、畫網(wǎng)格等功能內(nèi)核腳本時主要采用記錄、修改的模式,這樣既可以節(jié)省大量的時間,又提高了編程準(zhǔn)確性。
2.2.1 有限元模型的建立
迫擊炮不僅要求能在松軟的山地使用,同樣在城鎮(zhèn)中的硬質(zhì)水泥地面也要有很好的射擊性能。在硬質(zhì)水泥地面射擊時,座板受炮膛合力和3個筋板與地接觸面的支反力,筋板棱脊上的受力最大,應(yīng)力集中最為嚴(yán)重,焊道易拉裂,使用此類陣地考核座板的強度最為適宜,所以選擇剛性地面作為使用環(huán)境進行數(shù)值模擬。分析模型如圖1所示。
圖1 分析模型
分析模型中包含迫擊炮座板、駐臼和炮尾三部分,座板和駐臼合并為一體。炮尾的尾球與駐臼間通過面面硬接觸傳遞載荷,摩擦力由罰函數(shù)法定義,系數(shù)為0.2。射擊時,炮身與座板剛性連接,直接將炮膛合力添加到炮尾簡化模型的圓柱面上。模型采用自由網(wǎng)格劃分技術(shù),分析步采用Static General,單元類型選為C3D10M[4]。
2.2.2 系統(tǒng)的初始化
初始化文件design App.py的代碼如下:
from abaqusGui import AFXApp
import sys
from model Main Window import Model Main Window
#初始化應(yīng)用程序
app= AFXApp('AbaqusS/CAE','SIMULA')
app.init(sys.argv)
#構(gòu)建主窗體
Model Main Window(app)
#創(chuàng)建并啟動仿真系統(tǒng)
app.create()
app.run()
在初始化程序中將調(diào)用系統(tǒng)界面定制文件“model Main Window.py”對 ABAQUS/CAE 的 通 用界面進行定制修改。
2.2.3 程序模塊間調(diào)用關(guān)系
設(shè)計系統(tǒng)的程序模塊間調(diào)用關(guān)系如圖2所示。
首先點擊系統(tǒng)程序的入口文件(run_program.bat)啟動ABAQUS主程序并讀入定制模塊程序,完成初始化。定制系統(tǒng)界面如圖3所示。系統(tǒng)界面以ABAQUS/CAE為母版,對原有菜單、工具、模型樹等控件作選擇性導(dǎo)入,并在系統(tǒng)界面添加定制菜單和定制按鈕,3個工具按鈕分別為參數(shù)建模、添加載荷和提交分析作業(yè)。
圖2 程序模塊間調(diào)用關(guān)系
圖3 定制系統(tǒng)界面
點擊參數(shù)建模工具,將打開如圖4所示的建模輸入對話框。為方便設(shè)計人員,在對話框的左邊為標(biāo)有尺寸參數(shù)的零件結(jié)構(gòu)圖,右欄為參數(shù)輸入文本框。建模時考慮到了零件裝配的尺寸關(guān)聯(lián)性,例如炮尾尾球與駐臼的球形槽,建模的參數(shù)輸入分為座板和駐臼兩步。在輸入欄下方為模型的材料選擇框,設(shè)計人員可以對模型賦予不同的材料屬性。本例選用座板常用的7075-T6超硬鋁合金。點擊“確定”后,將自動生成模型并完成裝配和網(wǎng)格劃分等,座板的有限元模型如圖5所示。
圖4 座板參數(shù)建模對話框
圖6為定制對話框,點擊添加載荷工具打開如圖6(a)所示對話框,為防止迫擊炮打滑,在硬質(zhì)水泥地面的允許射角為70°~85°,該例射角取為70°,方位角分別取0°(身管軸線沿筋板方向)和60°(身管軸線與筋板對稱面呈60°角)進行仿真,并選擇事先計算好的炮膛合力文件(.txt)。
圖5 座板的有限元模型
圖6 定制對話框
點擊系統(tǒng)界面第3個工具將打開如圖6(b)所示的仿真設(shè)置對話框,選擇靜力學(xué)仿真并設(shè)置仿真資源和路徑后提交作業(yè),首先生成輸入文件(.inp),然后通過后臺編制腳本程序?qū)⑤斎胛募峤唤oABAQUS/Standard求解器進行數(shù)值運算。
仿真完成后,可通過對仿真結(jié)果進行分析處理,從而對設(shè)計方案進行檢驗,選取最佳尺寸,優(yōu)化設(shè)計方案。仿真分析得到的應(yīng)力云圖如圖7所示。在射角為70°、0°方位角下,最大應(yīng)力為558.5 MPa;在射角為70°、60°方位角下,最大應(yīng)力為460.8 MPa。所以0°方位角為危險工況,通過參數(shù)建模對話框增大肋板厚度,在70°射角和0°方位角時進行仿真,得到的最大應(yīng)力為457.1 MPa(見圖8),可見增加肋板厚度可有效減輕應(yīng)力集中問題。
應(yīng)用ABAQUS的定制開發(fā)技術(shù),開發(fā)了迫擊炮座板的參數(shù)化設(shè)計系統(tǒng),設(shè)計人員只需在對話框中修改尺寸參數(shù)并設(shè)定工況后,就能完成快速建模和仿真分析,從而通過仿真結(jié)果就可對設(shè)計方案進行評估,代替了傳統(tǒng)的反復(fù)試驗,降低了研發(fā)成本,提高了設(shè)計效率。
圖7 不同方位角、射角時的應(yīng)力云圖
圖8 肋板厚度增加后方位角0°、射角70°時的應(yīng)力云圖
[1] 談樂賦,張相炎,管紅根,等.火炮概論[M].北京:北京理工大學(xué)出版社,2005.
[2] 黃霖.ABAQUS/CAE二次開發(fā)功能與應(yīng)用實例[J].計算機輔助工程,2011,20(4):96-99.
[3] 王家林,李平.ABAQUS箱型橋梁的GUI二次開發(fā)[J].重慶交通大學(xué)學(xué)報(自然科學(xué)版),2009,28(6):1000-1004.
[4] 莊茁,由小川,廖劍輝,等.基于ABAQUS的有限元分析和應(yīng)用[M].北京:清華大學(xué)出版社,2009.