王 偉,高躍飛
(中北大學(xué) 機(jī)電工程學(xué)院,山西 太原 030051)
ANSYS是一個(gè)廣泛應(yīng)用于機(jī)械制造、石油化工、航空航天、汽車交通、土木工程等眾多工業(yè)領(lǐng)域,集結(jié)構(gòu)、熱、流體、電磁、聲學(xué)于一體的以有限元分析為基礎(chǔ)的大型通用CAE軟件[1]。ANSYS具有良好的開放性,用戶可通過多種途徑對(duì)標(biāo)準(zhǔn)的ANSYS軟件進(jìn)行擴(kuò)充,開發(fā)專用的分析模塊。近年來ANSYS軟件在火炮身管溫度場(chǎng)分析計(jì)算中得到廣泛應(yīng)用,但主要集中在使用GUI(圖形用戶界面),如果需要對(duì)不同口徑、不同參數(shù)的身管進(jìn)行分析,就必須進(jìn)行重復(fù)的建模計(jì)算。為此,本文以ANSYS參數(shù)化設(shè)計(jì)語言(APDL)為工具,開發(fā)火炮身管溫度場(chǎng)計(jì)算的專用模塊,簡化了分析計(jì)算過程。
APDL是ANSYS Parametric Design Language的縮寫,即參數(shù)化設(shè)計(jì)語言。利用APDL中的編程語言和ANSYS的有限元命令,就可以實(shí)現(xiàn)參數(shù)化建模、參數(shù)化施加載荷、參數(shù)化后處理顯示等。使用APDL還可以開發(fā)專用的有限元分析程序,減少分析成本,極大地提高了分析效率。APDL作為一種解釋性語言,它提供一般程序語言的功能,如參數(shù)、宏、標(biāo)量、向量、數(shù)組及矩陣運(yùn)算、分支、循環(huán)以及訪問ANSYS有限元數(shù)據(jù)庫等,另外它還提供簡單界面定制功能,實(shí)現(xiàn)參數(shù)交互輸入、消息機(jī)制、界面驅(qū)動(dòng)和運(yùn)行應(yīng)用程序等[2]。當(dāng)然APDL不是一種通用的編程軟件,它在復(fù)雜人機(jī)交互的設(shè)計(jì)方面還存在缺陷,我們可以將它與通用語言結(jié)合起來,開發(fā)大型的應(yīng)用程序。
身管模型的建立和網(wǎng)格劃分是前處理器的主要任務(wù),也是后面計(jì)算分析的基礎(chǔ)。身管的形狀比較簡單,傳統(tǒng)的建模方式是使用CAD軟件建立模型后導(dǎo)入ANSYS中,然后進(jìn)行后續(xù)的工作。因此分析人員不僅要熟悉ANSYS的操作,還要熟練掌握CAD軟件,而且針對(duì)不同口徑的火炮身管需要重復(fù)建模。
嚴(yán)格地說,身管壁內(nèi)的熱傳導(dǎo)存在兩維(軸向和徑向)不穩(wěn)定問題,但由于火藥氣體對(duì)身管壁的熱流密度始終是行程的弱函數(shù),且計(jì)算表明身管溫度沿半徑方向變化得比較快,其梯度一般為溫度沿軸向梯度的1 000倍以上[3],因此,忽略熱量的軸向流動(dòng),并假設(shè)溫度場(chǎng)具有軸向及角度對(duì)稱性。將火炮身管藥室部簡化為1/4扇形模型。簡化后的身管模型更加簡單,在此我們使用APDL語言進(jìn)行程序設(shè)計(jì)建模,對(duì)身管的模型只需修改參數(shù)值,模塊會(huì)自動(dòng)生成模型。為方便使用人員,通過ANSYS的二次開發(fā)命令*ASK可以實(shí)現(xiàn)人機(jī)交互,提示用戶輸入?yún)?shù)值,如圖1 所示。
身管建模APDL命令如下:
/title,barrel temperature!設(shè)定內(nèi)外徑尺寸
multipro,'start',2
*cset,1,3,R1,'the inner radius of barrel',0.17
*cset,4,6,R2,'the outer radius of barrel',0.35
multipro,'end'
……
?。?/p>
!輸入材料屬性
multipro,'start',3
*cset,1,3,midu,'the dens of barrel',7800
*cset,4,6,bire,'the c of barrel',46.55
*cset,7,9,daore,'the kxx of barrel',33.488
multipro,'end'
MP,DENS,1,midu!材料密度
MP,C,1,bire!比熱容
MP,KXX,1,daore!導(dǎo)熱系數(shù)
……
通過輸入身管尺寸參數(shù)和身管材料參數(shù)自動(dòng)生成身管模型,在此以130艦炮為例,取藥室橫斷面為模型進(jìn)行分析計(jì)算,建立的身管模型如圖2 所示。
圖1 參數(shù)輸入界面
圖2 身管模型
模型建好后應(yīng)進(jìn)行單元屬性定義,然后生成網(wǎng)格。在有限元分析中對(duì)于不同的問題需要不同特性的單元,ANSYS軟件提供了很多單元類型,每個(gè)單元都有特定的標(biāo)識(shí)號(hào)。本文選用Plane55單元,使用智能網(wǎng)格劃分,通過模型內(nèi)外邊控制網(wǎng)格劃分,以滿足不同口徑火炮模型的網(wǎng)格劃分要求,其代碼如下:
et,1,plane55!選用Plane55單元
SMRT,3
……
CM,_Y,LINE
LSEL,,,,P51X
CM,_Y1,LINE
CMSEL,,_Y
LESIZE,_Y1,,,70,,,,,1
……
CM,_Y,LINE
LSEL,,,,P51X
CM,_Y1,LINE
CMSEL,,_Y
LESIZE,_Y1,,,70,,,,,1
……
模型網(wǎng)格劃分結(jié)果如圖3 所示。
圖3 模型網(wǎng)格劃分
火炮在發(fā)射過程中,內(nèi)邊界要經(jīng)歷一系列復(fù)雜的過程:首先是發(fā)射過程中的強(qiáng)制傳熱,此時(shí)為彈丸在膛內(nèi)的運(yùn)動(dòng)期,其次是彈丸離開炮膛的后效期,最后是開閂到下次裝彈前的自然對(duì)流冷卻時(shí)期[4]。
在身管內(nèi)壁上加載隨時(shí)間變化的火藥氣體溫度,膛內(nèi)時(shí)期火藥氣體溫度可由經(jīng)典內(nèi)彈道理論計(jì)算,后效期可擬合為一指數(shù)函數(shù)。
使用MATLAB編寫內(nèi)彈道程序,計(jì)算內(nèi)彈道時(shí)期和后效期的溫度隨時(shí)間變化曲線,計(jì)算結(jié)果寫入后綴為.TXT文檔中,以便ANSYS主程序調(diào)用。
內(nèi)彈道時(shí)期火藥燃?xì)夂蜕砉苓M(jìn)行強(qiáng)制對(duì)流換熱,在身管內(nèi)壁添加隨時(shí)間變化的對(duì)流換熱系;在后效期,內(nèi)膛與火藥氣體同樣按照強(qiáng)制對(duì)流的方式進(jìn)行換熱,但是對(duì)流換熱系數(shù)要比內(nèi)彈道時(shí)期小很多,可以近似取內(nèi)彈道結(jié)束瞬間的值和管壁與大氣環(huán)境間的自然對(duì)流換熱的平均值;在中間階段為自然對(duì)流,可通過相似準(zhǔn)則進(jìn)行計(jì)算;發(fā)射過程中身管外壁與空氣進(jìn)行自然對(duì)流,對(duì)流換熱系數(shù)可通過麥克阿當(dāng)斯公式進(jìn)行計(jì)算。
整個(gè)加載過程通過APDL語言編寫宏文件對(duì)文檔進(jìn)行調(diào)用,完成載荷的自動(dòng)添加,其代碼如下:
IC,P51X,TEMP,293,
……
DL,P51X,,TEMP,293,0
……
SFL,P51X,CONV,13.95,,,
*DIM,wendu,TABLE,446,1,1,,,
*DIM,duiliu,TABLE,446,1,1,,,
*TREAD,WENDU,'T1','txt','',,
*TREAD,DUILIU,'H1','txt','',,
……
SFL,P51X,CONV,%DUILIU% ,,,
……
DL,P51X,,TEMP,%WENDU%
加載后的身管如圖4 所示。
設(shè)置載荷步選項(xiàng),將結(jié)果保存設(shè)置成每步保存,使用APDL語言編寫計(jì)算模塊,其代碼如下:
TIME,23.54!設(shè)置計(jì)算時(shí)間
AUTOTS,1
DELTIM,1,0.1,1,1
……
TINTP,0.005,,,,,,
OUTRES,ALL,ALL,!設(shè)置輸出結(jié)果每步保存
……
SOLVE!開始計(jì)算
……
圖4 加載后的身管
計(jì)算完成后,通過軟件后處理模塊查看計(jì)算結(jié)果,在此以溫度云圖查看,使用APDL語言編寫程序,可進(jìn)行時(shí)間參數(shù)輸入,實(shí)現(xiàn)任意時(shí)間的溫度云圖查看,其代碼如下:
……
*ask,a,Input the time of temperature,0.1
SET,,,1,,a,,
……
13.54ms時(shí)身管的溫度云圖如圖5 所示。
以上模塊編寫完成后,可修改ANSYS系統(tǒng)文件.../v121/ANSYS/apdl/start121.ans(即安裝程序時(shí)的啟動(dòng)文件,路徑中的數(shù)字與軟件版本有關(guān)),利用文本編輯器打開此文件,然后使用*ABBR定義一系列的縮寫按鈕,通過按鈕調(diào)用在程序路徑中的各專業(yè)分析宏文件,代碼如下:
/psearch,E:\Users\wangwei
*abbr,shenguan_model,shenguan
*abbr,mesh,mesh
*abbr,zaihe,zaihe
*abbr,jisuan,jisuan
*abbr,jieguo,jieguo
完成以上工作后,只需以交互方式啟動(dòng)ANSYS程序,進(jìn)入ANSYS交互環(huán)境中,工具條Toolbar中增加了如圖6 所示的按鈕,通過按鈕能夠方便地完成火炮身管溫度場(chǎng)計(jì)算。
圖5 13.54ms時(shí)身管的溫度云圖
圖6 添加的按鈕
通過ANSYS軟件進(jìn)行身管溫度場(chǎng)計(jì)算的分析研究,利用ANSYS的二次開發(fā)工具APDL語言開發(fā)出專業(yè)計(jì)算身管溫度場(chǎng)的分析程序。與傳統(tǒng)計(jì)算相比,該程序省略了手工計(jì)算的繁瑣過程,可以直觀地顯示發(fā)射過程中身管溫度場(chǎng)變化。由于ANSYS軟件本身的原因,用此方法開發(fā)出的分析模塊人機(jī)交互界面不夠好,可以將APDL語言與VC語言相結(jié)合開發(fā)出更加完美的程序界面。
[1]龔曙光,謝桂蘭.ANSYS操作命令與參數(shù)化編程[M].北京:機(jī)械工業(yè)出版社,2004.
[2]博弈創(chuàng)作室.ANSYS參數(shù)化有限元分析技術(shù)及其應(yīng)用實(shí)例[M].北京:中國水利水電出版社,2004.
[3]楊艷峰,鄭堅(jiān),賈長志,等.火炮身管熱傳導(dǎo)有限元仿真分析[J].火炮發(fā)射與控制學(xué)報(bào),2011(1):45-48.
[4]牛超群.高射頻身管剛強(qiáng)度及熱分析[D].南京:南京理工大學(xué),2008:39-50.