陳飛 王成雨 李偉剛 楊杰
摘要:針對(duì)在飛機(jī)弓形結(jié)構(gòu)件噴九工藝中噴丸應(yīng)力產(chǎn)生多余變形,需要頻繁調(diào)整零件不同區(qū)域噴丸參數(shù)的問題,使用Python語言對(duì)Abaqus軟件的前、后處理模塊進(jìn)行二次開發(fā)。所開發(fā)的插件可以自動(dòng)快速實(shí)現(xiàn)Abaqus的前處理操作,包括幾何建模、網(wǎng)格劃分和初始應(yīng)力施加等。該插件可在Abaqus后處理中自動(dòng)輸出弓形結(jié)構(gòu)件沿半徑方向的最大位移,該位移可視作噴丸強(qiáng)化引起的變形。采用試驗(yàn)方法驗(yàn)證所開發(fā)插件的有效性,為快速預(yù)測(cè)不同噴丸參數(shù)下弓形件噴丸強(qiáng)化的變形提供參考。
關(guān)鍵詞:Abaqus二次開發(fā);Python;噴丸;變形;弓形結(jié)構(gòu)件
中圖分類號(hào):V260.5;V261.934文獻(xiàn)標(biāo)志碼:B
0引言
在航空工業(yè)中,為提高工件的疲勞壽命,鋁合金加工而成的薄壁弓形結(jié)構(gòu)件需要進(jìn)行噴丸強(qiáng)化處理。弓形結(jié)構(gòu)為非對(duì)稱結(jié)構(gòu),噴丸產(chǎn)生的表面殘余應(yīng)力會(huì)使結(jié)構(gòu)件產(chǎn)生一定的多余變形,因此須調(diào)整不同位置的噴丸強(qiáng)度以減小整體變形。
噴丸殘余應(yīng)力是導(dǎo)致噴丸變形的直接因素,可以通過解析計(jì)算、數(shù)值模擬和試驗(yàn)等方法確定噴丸參數(shù)與噴丸殘余應(yīng)力之間的關(guān)系。在此基礎(chǔ)上,可利用有限元模擬方法分析殘余應(yīng)力作用下的工件變形,具體方法有等效熱載荷法、面內(nèi)擠壓法和直接應(yīng)力法等。GARIEPY等采用分層殼單元直接應(yīng)力法研究大尺寸零件的噴丸變形模擬,將彈丸撞擊模擬獲得的平均應(yīng)力場(chǎng)引人大尺寸零件的有限元模型中模擬零件的變形。賈立勇等主要采用Python語言對(duì)Abaqus軟件圖形界面程序進(jìn)行開發(fā)。秦宇等基于Abaqus的Plug-ins有限元插件程序,使用Python語言編寫內(nèi)核腳本程序,開發(fā)用戶定制功能的切削仿真模塊,并用實(shí)例驗(yàn)證所開發(fā)模塊功能的有效性。
弓形件為變截面結(jié)構(gòu),其建模過程較為復(fù)雜,且噴丸殘余應(yīng)力的獲得與施加過程比較繁瑣。針對(duì)上述問題,本文利用Python和Fortran腳本語言,在Abaqus中開發(fā)用于航空鋁合金弓形結(jié)構(gòu)件噴丸強(qiáng)化變形模擬的仿真插件。該插件可以建立弓形結(jié)構(gòu)件參數(shù)化模型,根據(jù)輸人的模型參數(shù)和噴丸工藝參數(shù)自動(dòng)完成噴丸強(qiáng)化變形模擬,并在后處理中輸出弓形結(jié)構(gòu)件噴丸強(qiáng)化后沿半徑方向的最大變形,可有效簡化弓形結(jié)構(gòu)噴丸模擬繁瑣的建模過程,并獲得殘余應(yīng)力及其施加過程,為實(shí)際噴丸工藝中噴丸參數(shù)的確定提供參考。
1Abaqus二次開發(fā)和腳本接口
Abaqus是國際公認(rèn)的大型通用非線性有限元軟件之一,被廣泛應(yīng)用于機(jī)械制造、航空航天、汽車交通和土木工程等諸多領(lǐng)域。為進(jìn)一步滿足不同用戶在軟件使用過程中的新需求,Abaqus為用戶提供開放的二次開發(fā)接口,包括基于Fortran語言的用戶子程序和基于Python語言的腳本接口。前者主要方便用戶開發(fā)自定義材料模型、自定義單元和復(fù)雜載荷等;后者主要方便用戶根據(jù)自身需求開發(fā)前、后處理工具(GUI程序),或者輔助用戶實(shí)現(xiàn)參數(shù)化建模和數(shù)據(jù)處理。
Abaqus二次開發(fā)有以下幾種途徑:(1)使用用戶自定義子程序擴(kuò)展Abaqus/CAE的功能;(2)通過修改環(huán)境初始文件改變Abaqus許多缺省的設(shè)置;(3)運(yùn)行Python編寫的內(nèi)核腳本文件對(duì)前處理和后處理進(jìn)行簡化;(4)采用Python語言對(duì)Abaqus進(jìn)行圖形界面程序開發(fā),包括GUI插件程序(Plug-ins)的開發(fā)和用戶自定義GUI應(yīng)用程序的開發(fā)。本文主要使用第(1)和第(4)中的GUI插件程序開發(fā)方法:利用Fortran語言編寫用戶自定義子程序SIGINI,用于施加噴丸殘余應(yīng)力;采用Python語言編寫插件的注冊(cè)文件、圖形界面文件和內(nèi)核執(zhí)行文件。將編寫好的程序直接拷貝到Abaqus工作目錄下的Abaqus-plugins文件夾內(nèi),再次啟動(dòng)Abaqus,在CAE主窗口界面下的Plug-ins菜單內(nèi)會(huì)自動(dòng)出現(xiàn)噴丸模擬插件菜單,見圖1。
2 噴丸應(yīng)力數(shù)據(jù)庫建立
采用直接應(yīng)力法模擬弓形結(jié)構(gòu)件的噴丸強(qiáng)化變形。通過多彈丸撞擊模擬獲得多組噴丸應(yīng)力曲線(見圖2),利用不同彈丸速度下的應(yīng)力曲線分析噴丸參數(shù)與噴丸應(yīng)力之間的關(guān)系,以此為基礎(chǔ)建立噴丸應(yīng)力數(shù)據(jù)庫。利用有限元模擬快速預(yù)測(cè)弓形結(jié)構(gòu)件在不同彈丸速度下的噴丸強(qiáng)化變形。有限元模擬需要設(shè)定噴丸的彈丸撞擊速度,但噴丸工藝中的彈丸速度無法直接獲得,因此采用KLEMENZ的經(jīng)驗(yàn)公式推導(dǎo),即
為使模擬結(jié)果接近實(shí)際的噴丸效果,建立多彈丸撞擊靶材的三維有限元模型,見圖3。彈丸為直徑0.58mm的球體,初速度為40m/s;靶材的幾何尺寸為5.50mm×5.50mm×2.00mm。為避免模型邊界影響模擬結(jié)果,彈丸全部作用在靶材上表面中心2.00mm×2.00mm的區(qū)域內(nèi),且只統(tǒng)計(jì)中心1.00mm×1.00mm區(qū)域內(nèi)的數(shù)據(jù)。靶材側(cè)面設(shè)置為對(duì)稱約束,靶材底面全固定。為確保計(jì)算結(jié)果的精度和最終所得應(yīng)力曲線的平滑度,對(duì)彈丸撞擊區(qū)域內(nèi)的網(wǎng)格進(jìn)行加密,單元尺寸為0.02mm,非撞擊區(qū)域的網(wǎng)格尺寸為0.10mm,單元類型采用8節(jié)點(diǎn)的減縮單元C3D8R。彈丸和靶材的材料參數(shù)見表1,靶材采用Johnson-Cook本構(gòu)模型,其本構(gòu)參數(shù)設(shè)置見表2.
3 噴丸仿真模塊設(shè)計(jì)
3.1弓形結(jié)構(gòu)件噴丸面介紹
由于筋條面上的噴丸對(duì)工件的彎曲變形基本沒有貢獻(xiàn),所以在有限元模擬中不考慮筋條的影響。為方便在插件中說明弓形件不同區(qū)域的噴丸參數(shù),將弓形結(jié)構(gòu)件噴丸區(qū)域分為外形外表面、外形內(nèi)表面和腹板面(包括前、后2個(gè)面)3個(gè)部分,見圖4。
3.2 用戶圖形界面設(shè)計(jì)
該噴丸模擬插件共有2個(gè)輸入界面:界面一主要為模型參數(shù)輸入界面,包括定義工作目錄、模型半徑、模型分段數(shù)和每一段的截面參數(shù)等;界面二為噴丸工藝參數(shù)輸入界面,將弓形結(jié)構(gòu)件的噴丸面分為3個(gè)部分,每個(gè)面的噴丸參數(shù)均包括噴嘴移動(dòng)速度(mm/s)、彈流量(kg/min)、噴丸壓力(MPa)、彈丸直徑(mm)和噴丸角度(°)。根據(jù)實(shí)際噴丸工藝要求,可以選擇只對(duì)工件的某個(gè)面進(jìn)行噴丸強(qiáng)化模擬,具體插件使用界面見圖5和6。
4 關(guān)鍵代碼實(shí)現(xiàn)
4.1初始化環(huán)境
Python結(jié)合Abaqus軟件進(jìn)行二次開發(fā)時(shí),需要用到Abaqus所屬的很多模塊。編寫內(nèi)核程序需要導(dǎo)人如下重要模塊:其中:abaqus模塊為Abaqus的核心模塊;abaqusConstants模塊為Abaqus內(nèi)部常量模塊;odbAccess模塊為訪問后處理結(jié)果模塊;最后一個(gè)模塊導(dǎo)人Python文件處理模塊。
導(dǎo)人上述模塊后可以在腳本語言中使用Abaqus控制界面、引用Abaqus預(yù)定義的常量和訪問ODB數(shù)據(jù)庫,同時(shí)也可以執(zhí)行相關(guān)文件的操作命令。
4.2 建模方式
弓形結(jié)構(gòu)件為圓弧狀的變截面結(jié)構(gòu),采用分段掃描的方法創(chuàng)建幾何體,使用殼單元進(jìn)行建模,將各處的厚度賦值給殼單元模型。參考GARIEPY等的模擬方法,整個(gè)模型均采用3層結(jié)構(gòu)的復(fù)合材料常規(guī)殼單元,外側(cè)2個(gè)分層用于定義初始應(yīng)力場(chǎng),中間層用于調(diào)整模型每一段的厚度。為更好地施加殘余應(yīng)力,外側(cè)2個(gè)分層再各自分為25層,逐層施加殘余應(yīng)力。部分相關(guān)代碼如下:
4.3 邊界條件和網(wǎng)格設(shè)置
在實(shí)際噴丸過程中,需要將工件固定在工作臺(tái)上,而在有限元模擬時(shí),為更接近實(shí)際的約束情況,邊界條件選擇約束弓形結(jié)構(gòu)件3個(gè)頂點(diǎn)的位移自由度,以防止模型產(chǎn)生剛性位移。使用findAt()函數(shù)配合坐標(biāo)點(diǎn)的方式選取相關(guān)節(jié)點(diǎn)并施加約束。網(wǎng)格劃分采用用戶自定義方式,用戶可以根據(jù)自己的要求設(shè)置不同的網(wǎng)格尺寸。相關(guān)代碼如下:
4.4 添加用戶子程序
參考GARIEPY等對(duì)大尺寸零件的噴丸變形模擬方法,將不同噴丸參數(shù)下彈丸撞擊單位面積靶材模擬獲得的平均應(yīng)力場(chǎng)寫人數(shù)據(jù)庫,然后通過Abaqus用戶子程序SIGINI將沿深度變化的平均殘余應(yīng)力賦值到幾何模型分層殼單元的每一層上,用戶只需要輸入相關(guān)噴丸參數(shù),程序會(huì)自動(dòng)將相應(yīng)噴丸工藝參數(shù)下的平均殘余應(yīng)力引人工件,從而模擬弓形結(jié)構(gòu)件的噴丸強(qiáng)化變形。相關(guān)代碼如下:
4.5 后處理結(jié)果輸出
測(cè)量實(shí)際噴丸變形結(jié)果一般采用在檢夾模具上進(jìn)行貼模的測(cè)量方法。為更直觀地體現(xiàn)有限元模擬結(jié)果中弓形件沿半徑方向的最大位移,在后處理中提取模型最右端節(jié)點(diǎn)沿水平方向和豎直方向的位移,然后通過三角關(guān)系計(jì)算沿半徑方向的位移,相關(guān)代碼如下:
5 應(yīng)用實(shí)例
為驗(yàn)證該插件的正確性,以某弓形結(jié)構(gòu)件為例,使用相同的噴丸參數(shù)對(duì)整個(gè)工件的表面進(jìn)行噴丸強(qiáng)化數(shù)值模擬和試驗(yàn),工件及其測(cè)點(diǎn)示意見圖7。
以工件最左下方點(diǎn)為坐標(biāo)原點(diǎn)、水平方向?yàn)閤軸、豎直方向?yàn)閥軸建立直角坐標(biāo)系。圖7中各個(gè)測(cè)點(diǎn)的位置坐標(biāo)見表3。根據(jù)測(cè)點(diǎn)坐標(biāo)在檢夾模具上標(biāo)記出各測(cè)點(diǎn)位置以便測(cè)量噴丸變形后測(cè)點(diǎn)具體位置坐標(biāo)。具體的噴丸試驗(yàn)見圖8,在噴丸工作臺(tái)上對(duì)弓形件進(jìn)行噴丸,然后使用檢夾模具測(cè)量工件變形量。各個(gè)面的噴丸參數(shù)均設(shè)定為噴嘴移動(dòng)速度1000mm/min、彈流量5kg/min、噴丸壓力0.06MPa、彈丸直徑0.58mm和噴丸角度45°,模擬結(jié)果見圖9,弓形件不同位置的模擬結(jié)果和試驗(yàn)結(jié)果見表4。從表4中的數(shù)據(jù)對(duì)比可以看出,插件模擬得到的工件變形趨勢(shì)與試驗(yàn)結(jié)果一致,證明插件有效。
6 結(jié)束語
針對(duì)航空弓形結(jié)構(gòu)件建立噴丸仿真插件,可以快速模擬不同參數(shù)下的噴丸強(qiáng)化變形,實(shí)現(xiàn)噴丸過程的參數(shù)化建模,自動(dòng)完成邊界條件施加、網(wǎng)格劃分和應(yīng)力添加等前處理操作,快速、有效地預(yù)測(cè)弓形件在不同噴丸工藝參數(shù)下的噴丸強(qiáng)化結(jié)果。該插件可以對(duì)實(shí)際噴丸工藝中噴丸參數(shù)的確定提供指導(dǎo)。同時(shí),結(jié)合文中相關(guān)方法,可以對(duì)Abaqus進(jìn)行軟件擴(kuò)展,為其他形狀工件在噴丸領(lǐng)域和相關(guān)加工領(lǐng)域的二次開發(fā)提供借鑒。