丁傳俊,尹 強(qiáng),姜鐵牛,謝延明
(長(zhǎng)安工業(yè)集團(tuán)公司,重慶 400023)
彈丸與身管耦合問(wèn)題[1-2](以下簡(jiǎn)稱彈炮耦合)是火炮發(fā)射動(dòng)力學(xué)中的核心問(wèn)題,也是研究?jī)?nèi)彈道性能退化的起始點(diǎn)。統(tǒng)計(jì)目前彈炮耦合建模方法和內(nèi)彈道性能退化研究方法可以發(fā)現(xiàn),由于缺乏合適的建模手段,大多數(shù)研究人員只研究基于磨損特征點(diǎn)(最大磨損量)的統(tǒng)計(jì)推斷技術(shù),計(jì)算準(zhǔn)確性完全取決于統(tǒng)計(jì)樣本量的大小,從而導(dǎo)致性能退化計(jì)算模型過(guò)于簡(jiǎn)單、分析過(guò)程過(guò)于草率。因此,建立精確的身管幾何模型和磨損身管分析模型是描述內(nèi)彈道性能退化物理過(guò)程和全炮性能退化建模的第一步。
本文基于參數(shù)化建模的思想,提出直接編寫(xiě)法用以構(gòu)造身管有限元模型;在此基礎(chǔ)上,基于內(nèi)膛實(shí)測(cè)數(shù)據(jù)提出簡(jiǎn)化的節(jié)點(diǎn)偏移法用以生成任意磨損程度的內(nèi)膛有限元模型,并建立多個(gè)磨損程度不同的身管有限元模型;最后給出具體算例證明本文提出的建模方法具有時(shí)間消耗少、建模精度高等特點(diǎn)。
丁傳俊等[3]提出了身管建模的分片拼接法,其思路參考了葛建立等[1]所提出的身管分割策略。分割策略的基本原理是將身管分多段(10段以上),然后采用掃描映射和拼接的方法建立身管幾何模型并生成有限元模型。雖然以上文獻(xiàn)所介紹的方法可以生成任意口徑的身管有限元模型,但是本文發(fā)現(xiàn),大多數(shù)情況下分析人員不需要生成身管的幾何模型,而上述分片拼接法耗費(fèi)了很多時(shí)間用于身管片段之間的布爾運(yùn)算;與此同時(shí),本文還發(fā)現(xiàn)身管有限元模型無(wú)非是節(jié)點(diǎn)坐標(biāo)行、單元組成行以及其他輔助建模關(guān)鍵字行,因此一個(gè)更加直截的邏輯過(guò)程是——既然節(jié)點(diǎn)坐標(biāo)行和單元行是有規(guī)律的數(shù)字編碼,而其他建模關(guān)鍵字行又只占到模型文件總數(shù)據(jù)行的極小一部分,那么我們就可以基于身管節(jié)點(diǎn)坐標(biāo)的變化規(guī)律,直接使用Python編寫(xiě)身管的有限元模型。
借助文獻(xiàn)[1]中所介紹的分片拼接策略,則此時(shí)的“身管片段”應(yīng)該是身管截面的一層單元,即兩個(gè)相鄰截面上的有限元節(jié)點(diǎn)按照預(yù)定規(guī)則相連,從而形成一層身管單元。由于不借助于任何建模軟件,因此基于以上思路的身管有限元模型構(gòu)造策略可以被稱為直接編寫(xiě)法。
生成身管有限元模型節(jié)點(diǎn)的過(guò)程比較簡(jiǎn)單,但關(guān)鍵在于如何將節(jié)點(diǎn)組織起來(lái)以形成單元行,這涉及到節(jié)點(diǎn)和單元的編號(hào)規(guī)則問(wèn)題。如果節(jié)點(diǎn)和單元編號(hào)是固定且有規(guī)則的,那么直接操縱節(jié)點(diǎn)和單元編號(hào)就可以達(dá)到目標(biāo),下面將論述本文所建立的一種編號(hào)規(guī)則。
如圖1所示,以當(dāng)前節(jié)點(diǎn)編號(hào)規(guī)則為例,編號(hào)的前四位是身管截面編號(hào),以“4000”開(kāi)頭,其中“4”代表身管節(jié)點(diǎn)的標(biāo)識(shí)碼,因此身管截面編號(hào)區(qū)間是4000~4999;第五和第六位是膛線編號(hào),以“10”開(kāi)頭,總的編號(hào)區(qū)間是10~99;第七位是身管壁厚方向上的單元層編號(hào),本文稱其為“徑向?qū)泳幪?hào)”,總的編號(hào)區(qū)間是1~9;最后兩位是身管截面單根膛線周向方向上的單元層數(shù),本文稱其為“同層順序編號(hào)”,編號(hào)區(qū)間是10~99。

圖1 內(nèi)膛節(jié)點(diǎn)的編號(hào)規(guī)則
使用直接編寫(xiě)法在構(gòu)造身管有限元模型時(shí)可以先不考慮坡膛和膛線起始部,其過(guò)程如下:
1)根據(jù)身管內(nèi)膛和外壁的各個(gè)參數(shù)計(jì)算身管所有截面的節(jié)點(diǎn)坐標(biāo),并基于編號(hào)規(guī)則輸出節(jié)點(diǎn)行;
2)基于編號(hào)規(guī)則和單元連接次序輸出單元行,然后縫合膛線間單元;
3)輸出節(jié)點(diǎn)集、單元集、表面集以及其他輔助關(guān)鍵字行,并最終形成有限元計(jì)算所需的模型文件。
由于在ABAQUS中只能使用不超過(guò)9位字符的節(jié)點(diǎn)編號(hào),因此當(dāng)總編號(hào)或某個(gè)編號(hào)超越其區(qū)間限制時(shí),可以壓縮其他編號(hào)區(qū)間范圍。比如,當(dāng)徑向?qū)映^(guò)10層時(shí),可以壓縮截面的編號(hào)區(qū)間為499~999,這樣可以建立500個(gè)身管截面,從而擴(kuò)大徑向?qū)拥木幪?hào)區(qū)間為10~99。單元的編號(hào)規(guī)則和節(jié)點(diǎn)的編號(hào)規(guī)則是一致的,可以直接利用以上編號(hào)規(guī)則。綜上所述,與此對(duì)應(yīng)的身管節(jié)點(diǎn)、單元編寫(xiě)原理示意圖如圖2所示。

圖2 內(nèi)膛節(jié)點(diǎn)和單元的編寫(xiě)原理
編寫(xiě)完節(jié)點(diǎn)行和單元行之后,一個(gè)比較重要的問(wèn)題是膛線間節(jié)點(diǎn)融合問(wèn)題。這里推薦的做法是:事先不生成膛線之間的單元層(圖2中黃色部分),待所有膛線生成之后再連接膛線之間的節(jié)點(diǎn)并形成單元,從而縫合身管有限元模型,最終的代碼流程如圖3所示。

圖3 直接編寫(xiě)法的基本代碼流程
由于直接編寫(xiě)法不需要生成身管的幾何模型,且不依賴任何有限元前處理軟件,因此具有非常高的效率和精度。本文下面將以某23 mm航炮身管、某130 mm加農(nóng)炮身管、某155 mm榴彈炮身管為例生成以上身管的有限元模型,當(dāng)前算法所設(shè)置的內(nèi)膛參數(shù)如表1所示,其生成的效果如圖4所示。

表1 有限元模型生成算法的初始參數(shù)和計(jì)算機(jī)配置

圖4 基于節(jié)點(diǎn)偏移法的身管有限元模型
為了定量顯示當(dāng)前直接編寫(xiě)法的優(yōu)勢(shì),本文也統(tǒng)計(jì)了文獻(xiàn)[2]所述分片拼接法的生成時(shí)間,總結(jié)如表2所示。從表2中可以看出:由于直接對(duì)節(jié)點(diǎn)和單元進(jìn)行操作、不再使用任何CAD、CAE軟件,直接編寫(xiě)法的生成速度極快,一般情況下其時(shí)間消耗只是分片拼接法的零頭,這顯示了直接編寫(xiě)法的高效性。

表2 兩種身管有限元模型生成方法的時(shí)間對(duì)比
當(dāng)然分片拼接法也并非沒(méi)有優(yōu)勢(shì)可言,表3定性列舉了本文所提出方法和當(dāng)前主流生成方法的優(yōu)劣,可以看出基于ABAQUS的分片拼接法雖然消耗時(shí)間較多,但是可以輸出身管內(nèi)膛的幾何模型;而且在進(jìn)入ABAQUS的網(wǎng)格模塊后,通過(guò)隨意選擇網(wǎng)格密度還可以對(duì)部分區(qū)域進(jìn)行局部加密;直接編寫(xiě)法雖然只能通過(guò)設(shè)置截面數(shù)量確定網(wǎng)格密度,但其生成速度上的優(yōu)勢(shì)是其他兩種方法無(wú)法比擬的,且所生成的有限元文件適用于任何有限元求解器,因此它是一種通用建模方法。張振輝[2]、魏浩[4]、李振[5]等人所介紹的方法由于需要在不同的軟件中過(guò)渡,本文稱其為混合方法,由于操作過(guò)程比較繁瑣,因此失去了參數(shù)化建模的可能性,實(shí)用性較差。

表3 三種身管有限元模型生成方法優(yōu)劣性的對(duì)比
由于文獻(xiàn)[3]所提出的節(jié)點(diǎn)偏移法需要在程序內(nèi)部對(duì)內(nèi)膛表面的每一個(gè)節(jié)點(diǎn)進(jìn)行大量的節(jié)點(diǎn)間間距對(duì)比計(jì)算,計(jì)算過(guò)程比較耗時(shí);而本文認(rèn)為,大多數(shù)的彈炮耦合分析中身管被設(shè)定為剛體,那么此時(shí)身管有限元模型的價(jià)值在于形成有限元接觸計(jì)算的邊界而已。因此本文認(rèn)為:當(dāng)身管設(shè)定為剛體時(shí)身管網(wǎng)格的時(shí)間增量由于不納入計(jì)算,所以研究人員不必刻意追求身管的網(wǎng)格質(zhì)量,上述節(jié)點(diǎn)偏移流程[3]可以進(jìn)一步簡(jiǎn)化。簡(jiǎn)化的方式是:在給定磨損量之后,直接將某一個(gè)節(jié)點(diǎn)向下偏移,而不再進(jìn)行過(guò)多的磨損量和節(jié)點(diǎn)間距之間的比較計(jì)算。
從圖5可以看出:簡(jiǎn)化后的節(jié)點(diǎn)偏移法不再執(zhí)行過(guò)多的節(jié)點(diǎn)間距對(duì)比計(jì)算,節(jié)點(diǎn)偏移流程得到了一定的簡(jiǎn)化;在這種情況下所有節(jié)點(diǎn)都向下偏移,無(wú)疑將會(huì)導(dǎo)致楔形六面體單元的出現(xiàn),但這不會(huì)影響有限元計(jì)算過(guò)程。由于坡膛和膛線起始部都是基于去除材料法加工形成的,因此上述節(jié)點(diǎn)偏移法也可以用于構(gòu)件身管有限元模型的坡膛和膛線起始部,圖6即為利用上節(jié)的身管范例并使用以上簡(jiǎn)化算法所構(gòu)造的內(nèi)膛有限元模型。圖7為基于文獻(xiàn)[6]中數(shù)據(jù),使用該算法所構(gòu)建的某23 mm航空自動(dòng)炮磨損身管有限元模型。對(duì)所生成的身管有限元模型進(jìn)行尺寸檢查和網(wǎng)格質(zhì)量檢查,發(fā)現(xiàn)身管的三維尺寸和網(wǎng)格質(zhì)量完全滿足工程計(jì)算需要,這證明本文所提出的網(wǎng)格生成方法是準(zhǔn)確的。

圖5 簡(jiǎn)化的節(jié)點(diǎn)偏移流程

圖6 基于簡(jiǎn)化節(jié)點(diǎn)偏移法的內(nèi)膛有限元模型

圖7 不同磨損程度的內(nèi)膛有限元模型
本文提出身管有限元建模的直接編寫(xiě)法和構(gòu)造磨損身管的簡(jiǎn)化算法。對(duì)所生成的身管有限元模型進(jìn)行尺寸檢查和網(wǎng)格質(zhì)量檢查后發(fā)現(xiàn),使用以上參數(shù)化建模算法可以實(shí)現(xiàn)身管有限元模型和磨損有限元模型的構(gòu)造,所給出的建模算例也顯示以上方法具有建模速度快、精度高等特點(diǎn)。