吳 達(dá),陳鋒莉,馬岑睿
(空軍工程大學(xué)導(dǎo)彈學(xué)院,陜西三原 713800)
固體火箭發(fā)動(dòng)機(jī)工作過程實(shí)驗(yàn)是在火箭發(fā)動(dòng)機(jī)理論研究的基礎(chǔ)上進(jìn)行的實(shí)踐活動(dòng),對于培養(yǎng)火箭發(fā)動(dòng)機(jī)專業(yè)學(xué)員的觀察能力、實(shí)踐動(dòng)手能力、分析能力和實(shí)驗(yàn)數(shù)據(jù)總結(jié)能力具有重要作用。該實(shí)驗(yàn)可以通過實(shí)際實(shí)驗(yàn)或仿真實(shí)驗(yàn)來實(shí)施,前者的優(yōu)點(diǎn)是效果好,實(shí)驗(yàn)過程真實(shí),實(shí)驗(yàn)結(jié)果準(zhǔn)確,但存在危險(xiǎn)性強(qiáng)、過程不易控制、成本高等問題,適合應(yīng)用于固體火箭發(fā)動(dòng)機(jī)的設(shè)計(jì)與制造領(lǐng)域,不適于在教學(xué)中實(shí)施;而后者的實(shí)驗(yàn)精度相對較低,但具有安全、可靠、經(jīng)濟(jì)、可以多次反復(fù)進(jìn)行實(shí)驗(yàn)等許多優(yōu)點(diǎn)。因此,如果實(shí)驗(yàn)?zāi)康闹饕獋?cè)重于增強(qiáng)學(xué)員的對發(fā)動(dòng)機(jī)工作過程的感性認(rèn)識(shí),在不具備開展實(shí)際實(shí)驗(yàn)的條件下,采用計(jì)算機(jī)仿真的方法對固體火箭發(fā)動(dòng)機(jī)的工作過程進(jìn)行模擬,不僅能滿足教學(xué)需要,而且是一項(xiàng)安全、經(jīng)濟(jì)的好途徑。在這一思路的指引下,開發(fā)了固體火箭發(fā)動(dòng)機(jī)
該實(shí)驗(yàn)主要面向火箭發(fā)動(dòng)機(jī)專業(yè)學(xué)員的教學(xué),教學(xué)目標(biāo)主要有以下三個(gè)方面:
1)直觀了解固體火箭發(fā)動(dòng)機(jī)的燃燒過程與現(xiàn)象;
2)熟悉實(shí)驗(yàn)儀器設(shè)備、實(shí)驗(yàn)環(huán)境以及設(shè)備的操作使用方法;
3)能夠結(jié)合理論對實(shí)驗(yàn)結(jié)果進(jìn)行分析,整理實(shí)驗(yàn)數(shù)據(jù),撰寫實(shí)驗(yàn)報(bào)告。
仿真實(shí)驗(yàn)的內(nèi)容主要有發(fā)動(dòng)機(jī)燃燒室動(dòng)態(tài)壓強(qiáng)測量實(shí)驗(yàn)、發(fā)動(dòng)機(jī)推力測量實(shí)驗(yàn)、發(fā)動(dòng)機(jī)裝藥燃速測量實(shí)驗(yàn)、發(fā)動(dòng)機(jī)中斷燃燒實(shí)驗(yàn)和發(fā)動(dòng)機(jī)反常燃燒實(shí)驗(yàn)。
因此,仿真實(shí)驗(yàn)軟件的開發(fā)應(yīng)緊扣需求,完成以下幾個(gè)功能:
1)能模擬實(shí)驗(yàn)所要求的全部內(nèi)容,即能計(jì)算固體火箭發(fā)動(dòng)機(jī)燃燒過程中動(dòng)態(tài)壓強(qiáng)、推力和燃速的變化曲線,模擬中斷燃燒與反常燃燒的實(shí)驗(yàn)現(xiàn)象;
2)模擬實(shí)驗(yàn)的全過程,使學(xué)員熟悉實(shí)驗(yàn)環(huán)境與實(shí)驗(yàn)設(shè)備,有身臨其境的感覺;
3)提供學(xué)員自己選擇裝藥藥型、裝藥尺寸、發(fā)動(dòng)機(jī)噴管喉部尺寸的權(quán)限,并根據(jù)學(xué)員設(shè)定的參數(shù)進(jìn)行實(shí)驗(yàn),計(jì)算出相應(yīng)實(shí)驗(yàn)結(jié)果;
4)實(shí)驗(yàn)結(jié)果同時(shí)以曲線和采樣數(shù)據(jù)的形式給出,使學(xué)員能在此基礎(chǔ)上分析結(jié)果,撰寫實(shí)驗(yàn)報(bào)告。
在需要完成的這些功能中,發(fā)動(dòng)機(jī)工作過程中動(dòng)態(tài)壓強(qiáng)、推力和燃速的計(jì)算是難度最大的地方,這是因?yàn)楣腆w火箭發(fā)動(dòng)機(jī)雖然結(jié)構(gòu)簡單,但它在工作中的物理化學(xué)過程卻十分復(fù)雜,不僅同推進(jìn)劑的種類、藥型及初溫有關(guān),而且燃燒過程要經(jīng)歷表面層反應(yīng)區(qū)、嘶嘶區(qū)、暗區(qū)和發(fā)光火焰區(qū)等幾個(gè)階段,其復(fù)雜性使人們至今也沒有完全透徹的掌握其規(guī)律。因此,如果從微觀層面出發(fā)進(jìn)行相應(yīng)仿真建模,對燃燒過程的幾個(gè)階段分別進(jìn)行精確仿真,不僅難度很大,而且僅憑純數(shù)字仿真,仿真結(jié)果的可信度依然難以保證??紤]到實(shí)驗(yàn)的需求,對于火箭發(fā)動(dòng)機(jī)專業(yè)學(xué)員來說,由于不是開展發(fā)動(dòng)機(jī)的設(shè)計(jì)和性能評(píng)估研究,而是以了解實(shí)驗(yàn)過程、增強(qiáng)知識(shí)的直觀性和驗(yàn)證發(fā)動(dòng)機(jī)理論為根本目的,故而可以簡化對發(fā)動(dòng)機(jī)工作過程中壓強(qiáng)、推力等物理量的精確計(jì)算,采用近似計(jì)算的方法得到實(shí)驗(yàn)結(jié)果。仿真的重點(diǎn)應(yīng)放在構(gòu)建逼真的虛擬實(shí)驗(yàn)環(huán)境上,使學(xué)員能夠在這種虛擬環(huán)境中通過親自動(dòng)手選擇實(shí)驗(yàn)項(xiàng)目、裝藥種類與相應(yīng)參數(shù)獨(dú)立開展實(shí)驗(yàn)。
根據(jù)以上分析,仿真實(shí)驗(yàn)軟件的設(shè)計(jì)可以分為發(fā)動(dòng)機(jī)燃燒過程建模、實(shí)驗(yàn)過程與交互操作界面設(shè)計(jì)、實(shí)驗(yàn)結(jié)果界面設(shè)計(jì)、實(shí)驗(yàn)數(shù)據(jù)報(bào)表設(shè)計(jì)等工作。
在固體火箭發(fā)動(dòng)機(jī)點(diǎn)火燃燒室壓強(qiáng)建立過程完成之后,燃面面積的變化通常是連續(xù)的,但由此而引起的平衡壓強(qiáng)的變化只需要非常短的時(shí)間就可以達(dá)到,可以近似的認(rèn)為是瞬時(shí)就達(dá)到了新的平衡壓強(qiáng)。雖然隨著燃燒時(shí)間的增加,燃燒面在變化,但在每一時(shí)刻燃?xì)獾牧髀识寄芘c生成率瞬時(shí)達(dá)到平衡,燃燒室的壓強(qiáng)也就能瞬時(shí)達(dá)到與當(dāng)時(shí)燃燒面相適應(yīng)的平衡壓強(qiáng)。根據(jù)這個(gè)原則來仿真固體火箭發(fā)動(dòng)機(jī)燃燒過程中燃燒室壓強(qiáng)的變化。
對于一個(gè)已知的發(fā)動(dòng)機(jī)及其裝藥,其燃燒面Ab隨燃燒距離e的變化可以按照平行層燃燒規(guī)律預(yù)先計(jì)算出來。而燃燒面Ab的大小確定了相應(yīng)的平衡壓強(qiáng)的大小。由此可以確定出燃燒室壓強(qiáng)pc(瞬時(shí)達(dá)到的平衡壓強(qiáng))與燃燒距離e之間的相互關(guān)系。但是這還不能確定燃燒室壓強(qiáng)pc與燃燒時(shí)間t的關(guān)系。為了確定pct關(guān)系,可先通過燃速定義確定e t的關(guān)系,如式(1),然后通過聯(lián)立pce的關(guān)系和e t的關(guān)系,消去e,確定pct的關(guān)系。
但是,如果裝藥燃燒面的變化很大,或者對計(jì)算的精度要求更高一些,那就需要對這種計(jì)算方法加以修正??紤]由于燃燒面變化所引起的d pc/d t。有以下公式作為修正。
根據(jù)實(shí)驗(yàn)要求,仿真實(shí)驗(yàn)的實(shí)驗(yàn)步驟設(shè)定如下:
1)選擇實(shí)驗(yàn)項(xiàng)目。實(shí)驗(yàn)項(xiàng)目分發(fā)動(dòng)機(jī)燃燒室動(dòng)態(tài)壓強(qiáng)測量實(shí)驗(yàn)等5個(gè)實(shí)驗(yàn),其中發(fā)動(dòng)機(jī)動(dòng)態(tài)壓強(qiáng)實(shí)驗(yàn)和推力實(shí)驗(yàn)可進(jìn)一步分為端面燃燒實(shí)驗(yàn)、內(nèi)孔燃燒實(shí)驗(yàn)和全面燃燒實(shí)驗(yàn)。
2)進(jìn)行測量儀器靜態(tài)標(biāo)定。用于測試發(fā)動(dòng)機(jī)工作狀態(tài)下壓強(qiáng)、推力等參數(shù)的儀器在使用前需要進(jìn)行靜態(tài)標(biāo)定,以便正式實(shí)驗(yàn)時(shí)使用標(biāo)定結(jié)果進(jìn)行度量。
3)選擇火藥柱的藥型及參數(shù)。根據(jù)實(shí)驗(yàn)要求選擇固體火藥柱的藥型,常見的有內(nèi)孔星型、實(shí)心圓柱型和管型,然后確定藥柱幾何參數(shù)、發(fā)動(dòng)機(jī)噴口臨界截面大小和火藥初溫作為發(fā)動(dòng)機(jī)燃燒的初始條件。
4)組裝發(fā)動(dòng)機(jī)和發(fā)動(dòng)機(jī)上架。將確定的火藥柱裝入實(shí)驗(yàn)發(fā)動(dòng)機(jī),安裝和連接點(diǎn)火裝置,再置放于與實(shí)驗(yàn)項(xiàng)目相對應(yīng)的燃燒實(shí)驗(yàn)臺(tái)上,做好實(shí)驗(yàn)前的準(zhǔn)備工作。
5)控制實(shí)驗(yàn)進(jìn)程,觀察實(shí)驗(yàn)現(xiàn)象。通過操縱虛擬控制臺(tái),啟動(dòng)燃燒實(shí)驗(yàn),觀察實(shí)驗(yàn)現(xiàn)象,獲得實(shí)驗(yàn)的直觀印象,觀察實(shí)驗(yàn)結(jié)果曲線輸出的動(dòng)態(tài)過程。
6)實(shí)驗(yàn)數(shù)據(jù)輸出。實(shí)驗(yàn)的結(jié)果分燃燒過程曲線和采樣數(shù)據(jù)。將這些結(jié)果輸出到屏幕和打印機(jī)上,作為觀察實(shí)驗(yàn)結(jié)果和撰寫實(shí)驗(yàn)報(bào)告的依據(jù)。
根據(jù)以上步驟,軟件可以相應(yīng)分為CMain Dlg類、CItemSelect Dlg類、CMar k Dlg類、CParamSet Dlg類、CAssembleDlg類、COperateDlg類、COutput Dlg類。其功能分別為:
1)CMain Dlg類:加載軟件主界面,支持用戶輸入姓名與學(xué)號(hào);
2)CItemSelect Dlg類:處理用戶選擇實(shí)驗(yàn)項(xiàng)目的操作;
3)CMar k Dlg類:模擬推力測量系統(tǒng)和壓強(qiáng)測量系統(tǒng)的靜態(tài)標(biāo)定過程;
4)CParamSet Dl g類:處理用戶輸入的發(fā)動(dòng)機(jī)參數(shù),判斷參數(shù)正確性和試驗(yàn)可行性;
5)CAsse mble Dlg類:模擬發(fā)動(dòng)機(jī)由散件組裝成整體以及上實(shí)驗(yàn)臺(tái)的過程;
6)COperate Dl g類:模擬發(fā)動(dòng)機(jī)實(shí)驗(yàn)控制臺(tái),提供對它的操作和正確性判斷;
7)COutput Dl g類:分圖、表輸出實(shí)驗(yàn)結(jié)果,提供圖表打印和存盤功能。
在這些類中,封裝了對操作界面的設(shè)計(jì),界面采用以3D建模環(huán)境和動(dòng)畫為主,輔以必要的交互式輸入輸出控件的風(fēng)格,力求簡單、形象。例如,在COperate Dlg類中封裝了采用3DMax生成的實(shí)驗(yàn)臺(tái),臺(tái)上有控制按鈕、狀態(tài)指示燈和模擬顯示屏,實(shí)驗(yàn)者可以通過點(diǎn)擊鼠標(biāo)控制按鈕的狀態(tài),并通過不同顏色的指示燈和音效來反映用戶的操作狀態(tài)。
為提高仿真實(shí)驗(yàn)的真實(shí)感,軟件中大量采用3D建模技術(shù)構(gòu)建實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)設(shè)備,演示實(shí)驗(yàn)過程。如發(fā)動(dòng)機(jī)散件(發(fā)動(dòng)機(jī)室、噴管、火藥柱、點(diǎn)火藥盒等)、實(shí)驗(yàn)控制臺(tái)、靜態(tài)標(biāo)定儀等都用3DMax生成,擺放到虛擬實(shí)驗(yàn)室環(huán)境中,操作員可以激活這些對象,對其進(jìn)行參數(shù)設(shè)定或狀態(tài)操控。實(shí)驗(yàn)過程則用3DMax生成反映多個(gè)動(dòng)畫片段,在實(shí)驗(yàn)者正確完成相應(yīng)的操作步驟后調(diào)出予以放映,這些動(dòng)畫有:推力標(biāo)定過程、壓強(qiáng)標(biāo)定過程、發(fā)動(dòng)機(jī)組裝過程、臥式實(shí)驗(yàn)臺(tái)發(fā)動(dòng)機(jī)上架過程、立式實(shí)驗(yàn)臺(tái)發(fā)動(dòng)機(jī)上架過程、發(fā)動(dòng)機(jī)正常燃燒過程、發(fā)動(dòng)機(jī)反常燃燒過程、發(fā)動(dòng)機(jī)中斷燃燒過程等。
仿真實(shí)驗(yàn)軟件的計(jì)算與計(jì)算結(jié)果的平滑處理需要用到一些數(shù)值算法,如果自主開發(fā)這些底層模塊的算法程序需要花費(fèi)較多精力,算法適用性的局限也使相應(yīng)軟件模塊容易出現(xiàn)Bug,在此,系統(tǒng)中采用的技術(shù)方法是后臺(tái)調(diào)用Matlab所提供的數(shù)值計(jì)算函數(shù)進(jìn)行計(jì)算,將計(jì)算結(jié)果傳至前臺(tái)的控制程序,即采用Matlab引擎技術(shù)與前臺(tái)的控制程序進(jìn)行通訊,這種技術(shù)既可以提高軟件的健壯性,縮短開發(fā)周期,同時(shí)也能發(fā)揮Matlab指令計(jì)算簡單、計(jì)算可靠的優(yōu)點(diǎn)。
在VC++6.0中使用Matlab引擎的關(guān)鍵是在啟動(dòng)本地Matlab引擎后,將前臺(tái)的動(dòng)態(tài)數(shù)據(jù)送入Matlab引擎空間,數(shù)據(jù)可以直接賦值給所定義的矩陣,也可以采用MAT文件加載。在引擎空間中使用Matlab語法調(diào)用所需的數(shù)值函數(shù)進(jìn)行計(jì)算,最后將結(jié)果從Matlab引擎空間返回前臺(tái)控制程序。軟件發(fā)布時(shí),只需將Matlab所提供的4個(gè)動(dòng)態(tài)鏈接庫libeng.dll、lib mat.dll、lib mx.dll、libut.dll同步發(fā)布即可[3]。
仿真實(shí)驗(yàn)的結(jié)果需要輸出并打印,以滿足學(xué)員整理數(shù)據(jù)、完成實(shí)驗(yàn)報(bào)告的需要,因此需要生成實(shí)驗(yàn)結(jié)果的報(bào)表。報(bào)表設(shè)計(jì)分成3個(gè)區(qū)域:區(qū)域1輸出做實(shí)驗(yàn)的學(xué)員的信息,包括學(xué)生姓名、學(xué)號(hào)、實(shí)驗(yàn)時(shí)間、實(shí)驗(yàn)項(xiàng)目等;區(qū)域2輸出實(shí)驗(yàn)的原始數(shù)據(jù),包括點(diǎn)火藥量、藥型、藥柱幾何尺寸、喉部直徑等;區(qū)域3則輸出發(fā)動(dòng)機(jī)燃燒過程中壓強(qiáng)、推力等物理量隨時(shí)間變化的采樣數(shù)據(jù)。
生成報(bào)表的方法有很多,實(shí)驗(yàn)軟件中采用DDV技術(shù),預(yù)先用Micr osoft Excel生成報(bào)表的模板,實(shí)驗(yàn)過程中先將動(dòng)態(tài)數(shù)據(jù)存入實(shí)驗(yàn)結(jié)果數(shù)據(jù)庫中備用,需要生成報(bào)表時(shí)將數(shù)據(jù)從實(shí)驗(yàn)結(jié)果數(shù)據(jù)庫中提出,填到Excel報(bào)表模板中相應(yīng)的單元格中,再應(yīng)用Excel自帶的預(yù)覽和打印功能完成實(shí)驗(yàn)數(shù)據(jù)的報(bào)表輸出。
圖1為發(fā)動(dòng)機(jī)仿真實(shí)驗(yàn)前設(shè)定發(fā)動(dòng)機(jī)參數(shù)的主界面。該界面顯示了發(fā)動(dòng)機(jī)組裝前的狀態(tài),實(shí)驗(yàn)者在該畫面下點(diǎn)擊發(fā)動(dòng)機(jī)組裝前的散件,設(shè)定其參數(shù),軟件自動(dòng)判斷并過濾不能滿足平衡燃燒條件的設(shè)定,直到滿足實(shí)驗(yàn)條件。
圖1 發(fā)動(dòng)機(jī)仿真實(shí)驗(yàn)前參數(shù)設(shè)定畫面
圖2 發(fā)動(dòng)機(jī)燃燒過程仿真實(shí)驗(yàn)控制臺(tái)
圖2 為發(fā)動(dòng)機(jī)燃燒實(shí)驗(yàn)控制臺(tái)畫面,該畫面模擬通過控制臺(tái)控制實(shí)驗(yàn)的過程,實(shí)驗(yàn)者在該畫面下只有參照實(shí)驗(yàn)流程,以正確順序操控控制臺(tái)上的開關(guān)和手柄,才能啟動(dòng)燃燒實(shí)驗(yàn),否則,會(huì)導(dǎo)致“點(diǎn)火”按鈕無法按下。當(dāng)燃燒實(shí)驗(yàn)啟動(dòng)后,可以從實(shí)驗(yàn)臺(tái)上的兩個(gè)觀察窗口中分別觀察發(fā)動(dòng)機(jī)燃燒的物理過程和實(shí)驗(yàn)結(jié)果曲線的動(dòng)態(tài)輸出。
采用仿真的方法模擬固體火箭發(fā)動(dòng)機(jī)燃燒過程實(shí)驗(yàn)具有安全、方便、經(jīng)濟(jì)等多項(xiàng)優(yōu)點(diǎn),文中對固體火箭發(fā)動(dòng)機(jī)工作過程仿真實(shí)驗(yàn)軟件的設(shè)計(jì)進(jìn)行了探索和實(shí)踐,并應(yīng)用到火箭發(fā)動(dòng)機(jī)專業(yè)學(xué)員的實(shí)際教學(xué)中,達(dá)到了實(shí)驗(yàn)要求。軟件設(shè)計(jì)和應(yīng)用的難點(diǎn)是如何讓實(shí)驗(yàn)者在實(shí)驗(yàn)全程都有身臨其境的逼真感覺,這也將是今后我們進(jìn)一步工作的重點(diǎn)。
[1] 陳汝訓(xùn).固體火箭發(fā)動(dòng)機(jī)設(shè)計(jì)與研究(上、下)[M].北京:宇航出版社,1991.
[2] 李宜敏,張中欽,趙元修.固體火箭發(fā)動(dòng)機(jī)原理[M].北京:國防工業(yè)出版社,1995.
[3] 張志涌.精通 MATLAB 6.5版教程[M].北京:北京航空航天大學(xué)出版社,2003.
[4] 張任寰,魯墨武.虛擬環(huán)境系統(tǒng)中復(fù)雜模型的建立—3D資源在快速開發(fā)虛擬環(huán)境系統(tǒng)中的應(yīng)用[J].沈陽航空工業(yè)學(xué)院學(xué)報(bào),2004(1):40-42.