陳春鵬 楊康智 王莉萍
摘 要:飛機(jī)氣動力工程估算是獲取飛機(jī)氣動力數(shù)據(jù)的主要手段,在方案設(shè)計(jì)的初期占有重要的地位。文章根據(jù)當(dāng)前飛機(jī)氣動力工程估算存在的數(shù)據(jù)處理繁瑣、周期長、效率低等的主要問題,通過借助Matlab等工程軟件,提出了一種實(shí)現(xiàn)飛機(jī)氣動導(dǎo)數(shù)程序化計(jì)算處理的整體實(shí)現(xiàn)方法,這種氣動力工程估算的自動處理方法一方面大大減少了計(jì)算周期、提高了工作效率。另一方面這種方法提高了計(jì)算結(jié)果的精度,為飛機(jī)氣動力工程估算、氣動布局參數(shù)調(diào)整提供了快速、有效手段。
關(guān)鍵詞:氣動力;工程估算;自動處理;Matlab應(yīng)用
1 前言
在飛機(jī)研制設(shè)計(jì)方案初期,由于飛機(jī)初步設(shè)計(jì)方案的參數(shù)需要經(jīng)常調(diào)整,而通過風(fēng)洞試驗(yàn)和數(shù)值計(jì)算獲取飛機(jī)氣動力參數(shù)比較耗時,難以在較短時間內(nèi)跟上參數(shù)調(diào)整的步伐,工程估算方法能夠快速得出飛機(jī)不同氣動布局的主要?dú)鈩犹匦裕员阃ㄟ^反復(fù)迭代來對方案進(jìn)行優(yōu)化設(shè)計(jì),因此工程估算在這期間占有比較重要的地位。然而,當(dāng)前使用的工程估算的計(jì)算方法已經(jīng)嚴(yán)重落后,沒有最大限度展現(xiàn)出它在飛機(jī)方案設(shè)計(jì)階段所具有的優(yōu)勢,其中主要問題在于:
1.1 目前采用的工程估算方法耗費(fèi)的時間太長:工程估算的計(jì)算公式主要來源于大量風(fēng)洞試驗(yàn)結(jié)果和前人經(jīng)驗(yàn)總結(jié),大部分屬于半經(jīng)驗(yàn)公式,計(jì)算過程中很多的氣動參數(shù)要查閱圖表,根據(jù)目前型號飛機(jī)的工程估算來看,提供一套完整的飛機(jī)氣動導(dǎo)數(shù),至少要查300個左右的圖表,一個熟練的設(shè)計(jì)人員將近75%的時間耗費(fèi)在查圖取數(shù)上面,極大浪費(fèi)了人力。
1.2 計(jì)算的結(jié)果累積誤差較大:查表取數(shù)的過程中,圖表網(wǎng)格稀疏,數(shù)據(jù)取值存在誤差,并且不同設(shè)計(jì)人員從圖上讀到的數(shù)據(jù)也存在差異,而飛機(jī)的氣動導(dǎo)數(shù)是相互聯(lián)系相互影響的,前面導(dǎo)數(shù)的計(jì)算誤差對后續(xù)導(dǎo)數(shù)的計(jì)算有很大的影響,這種誤差的積累造成計(jì)算結(jié)果精度較差。
1.3 計(jì)算結(jié)果重復(fù)性不高:一方面,由于計(jì)算公式?jīng)]有固化,因而同一總體參數(shù)下不同期的計(jì)算結(jié)果可能存在差異,另一方面,同一設(shè)計(jì)人員在不同時間的查圖所得數(shù)據(jù)也存在差異。
出現(xiàn)這些問題的根源就是沒有形成一套完整的自動化處理軟件或者計(jì)算程序,結(jié)合目前的實(shí)際情況,文章基于Matlab等一些工程應(yīng)用軟件,提出一種方便、有效、快速實(shí)現(xiàn)對飛機(jī)氣動力工程估算自動處理的方法。
2 實(shí)現(xiàn)工程估算程序化處理的方案流程
計(jì)劃方案如圖1。
圖1 工程估算程序化處理方案的流程示意圖
方案流程說明:第一步,建立整體方案的標(biāo)準(zhǔn)化庫,由于整個方案實(shí)現(xiàn)的子程序和涉及的飛機(jī)氣動力參數(shù)很多,為了便于設(shè)計(jì)人員相互協(xié)作并且使程序調(diào)用參數(shù)方便,在方案實(shí)施開始階段要統(tǒng)一規(guī)定數(shù)據(jù)存儲方式、各全局變量符號的定義、功能函數(shù)的命名方式等。第二步,開始對所有的曲線圖表數(shù)字化,每條曲線存儲為二維數(shù)組,同一圖表的曲線統(tǒng)一存儲在一個結(jié)構(gòu)變量名下,最后根據(jù)命名規(guī)則存儲為數(shù)據(jù)文件。第三步,編寫查圖所需參數(shù)的子函數(shù),調(diào)用圖表數(shù)據(jù)文件并根據(jù)曲線形態(tài)編寫插值函數(shù),然后存儲為標(biāo)準(zhǔn)的M文件;然后根據(jù)飛機(jī)氣動特性分類,根據(jù)參考公式和適用范圍,編寫每部分的子函數(shù)。第四步,對主程序的主要部分分別定義,做到計(jì)算狀態(tài)、參數(shù)輸入、計(jì)算方式的定義都通俗易懂,然后對程序各部分調(diào)試,驗(yàn)證程序運(yùn)行無誤并且沒有沖突。第五步,對結(jié)果輸出格式進(jìn)行描述,調(diào)用曲線繪圖等功能。第六步,后期處理工作,主要是編寫可視化界面,方便結(jié)果的輸入和輸出,對飛機(jī)的氣動特性有更直觀的描述。
3 實(shí)現(xiàn)過程
3.1 圖表曲線的數(shù)據(jù)化處理
由于工程估算需要查閱大量圖表,因此首先解決的是聯(lián)合getdata、Excel、Matlab軟件的功能實(shí)現(xiàn)圖表曲線的數(shù)據(jù)化過程:利用getdata軟件主要利用它的自動取點(diǎn)功能,Excel可以將取到的數(shù)據(jù)點(diǎn)進(jìn)行單調(diào)排序,利用Matlab讀取數(shù)據(jù)并存儲統(tǒng)一格式。以飛機(jī)機(jī)翼零升阻力估算時的升力面修正因子的經(jīng)驗(yàn)曲線為例,它是馬赫數(shù)和機(jī)翼最大厚度線后掠角的函數(shù),數(shù)據(jù)化建模的過程如下:
3.1.1 把圖像保存為.BMP位圖文件,然后導(dǎo)入getdata軟件,利用getdata軟件定義好縱橫坐標(biāo),利用它的自動取點(diǎn)功能把每條曲線轉(zhuǎn)化成二維數(shù)組。得到的二維數(shù)組一定保證X坐標(biāo)為單調(diào)函數(shù)(可以借助EXCEL的升序排列功能)。
3.1.2 在Matlab中建立圖表數(shù)據(jù)的結(jié)構(gòu)變量,例如:curve(M1,M2,M3,M4),假設(shè)M1, M2, M3, M4分別表示M1=0.25,M2=0.6,M3=0.8,M4=0.9的四條曲線,通過把取點(diǎn)得到的四個二維數(shù)組分別賦值給curve.M1,curve.M2,curve.M3,curve.M4。
3.1.3 利用Matlab的SAVE功能將結(jié)構(gòu)變量存儲為數(shù)據(jù)文件,例如:save curveXXX.mat curve(具體運(yùn)用時可根據(jù)圖表編號來命名,方便查找)以便以后的程序直接調(diào)用取值。
3.2 建立曲線取值的子函數(shù)
建立圖表數(shù)據(jù)庫后,還要從數(shù)據(jù)庫中準(zhǔn)確查找所對應(yīng)的參數(shù),才能達(dá)到精確取值的目的,根據(jù)2.1節(jié)建立的數(shù)據(jù)文件,如果給出最大厚度線后掠角?撰t/c,max和馬赫數(shù)M,這就需要從curveXXX.mat文件中檢索出所對應(yīng)的RLS值。由于原始圖表里面只有四條曲線,相對應(yīng)只有四個二維數(shù)組,如果要查找任意馬赫數(shù)下的RLS,那么唯一的辦法就是插值,插值的具體方法可以用兩點(diǎn)線性插值,三點(diǎn)線性插值或者非線性插值,選用什么方法根據(jù)曲線形態(tài)來決定。如果這些都寫到主程序,那么會造成不易修改而且容易出錯,為避免程序臃腫,可以使用Matlab的特色功能,建立一個曲線取值的功能函數(shù)。這個功能函數(shù)(M文件)可以供任何子函數(shù)調(diào)用。
3.3 創(chuàng)建分塊函數(shù)
根據(jù)飛機(jī)氣動力工程估算主要內(nèi)容,可以根據(jù)飛機(jī)的氣動特性分類建立分塊函數(shù),如升力特性、阻力特性、俯仰力矩特性等;也可以根據(jù)飛機(jī)部件來定義,例如機(jī)翼氣動特性、機(jī)身氣動特性、尾身組合體氣動特性等。分塊函數(shù)是互不干擾,可以互相調(diào)用彼此結(jié)果。以升力特性計(jì)算為例,其創(chuàng)建過程為:
3.3.1 定義函數(shù)function[Cy0,Cymax,C■■,?琢0,…]=ShengLiTeXing(bA,l,S,…),其中括號里面Cy0,Cymax,C■■,?琢0表示函數(shù)返回值,也就是要計(jì)算的氣動導(dǎo)數(shù)方面輸出,可根據(jù)需要進(jìn)行添加;小括號里面bA,l,S表示變量名,也就是需要輸入的飛機(jī)總體參數(shù)。
3.3.2 編寫各氣動導(dǎo)數(shù)的計(jì)算過程,例如需要查圖1的曲線數(shù)值,那么可以直接調(diào)用子函數(shù)RLS=curve(M,?撰t/c,max)讀取數(shù)據(jù)。
3.3.3 將計(jì)算的各參數(shù)結(jié)果統(tǒng)一存在規(guī)定格式的文件中,方便其它函數(shù)調(diào)用數(shù)據(jù)。
3.4 主程序運(yùn)行示意圖
前面建立很多各部分子函數(shù)和分塊函數(shù),其主要目的是簡化主程序行數(shù),方便輸入,方便讀寫,復(fù)雜部分均寫成了函數(shù),讓沒有使用過Matlab的設(shè)計(jì)人員也能夠嫻熟調(diào)用函數(shù)并進(jìn)行計(jì)算,以圖2為例,主程序僅包含四個部分內(nèi)容:
3.4.1 標(biāo)號1部分的主要功能是進(jìn)行計(jì)算空間的內(nèi)存清理和所有計(jì)算方法的來源(參考資料),這部分不需要改動,僅供分析計(jì)算結(jié)果時參考;
3.4.2 標(biāo)號2部分是計(jì)算狀態(tài)輸入和說明,包含飛行馬赫數(shù)、飛行高度、大氣運(yùn)動粘性系數(shù)等,和所要計(jì)算的飛機(jī)飛行狀態(tài)密切相關(guān);
3.4.3 標(biāo)號3部分主要是飛機(jī)主要幾何參數(shù)輸入,例如機(jī)翼形狀參數(shù),機(jī)身外形參數(shù)以及尾翼外形參數(shù)等,此處要求參數(shù)盡可能簡化,中間參數(shù)不需要輸入,具體輸入?yún)?shù)需求根據(jù)計(jì)算內(nèi)容而定。
3.4.4 標(biāo)號4部分為主要的計(jì)算內(nèi)容,根據(jù)需要計(jì)算的氣動導(dǎo)數(shù)來調(diào)用相關(guān)函數(shù),也可以在此對所需要的氣動導(dǎo)數(shù)進(jìn)行輸出。例如,需要查看全機(jī)的C■■,那么僅需要輸入C■■即可在Matlab主程序的運(yùn)行狀態(tài)欄即可看到C■■的輸出結(jié)果。
4 界面可視化
根據(jù)前三節(jié)實(shí)現(xiàn)了氣動力工程估算的自動處理的整個過程,并且程序也能夠被不熟悉Matlab的人員操作使用,但存在參數(shù)輸入不方便,容易對總體參數(shù)的輸入產(chǎn)生錯誤,并且輸出結(jié)果不便查找(需要對照符號表查找計(jì)算的導(dǎo)數(shù)符號)數(shù)值,輸出不直觀等問題。因而,需要對整個方案進(jìn)行后期的可視化封裝,這不僅使界面明了清晰,并且還可以對計(jì)算結(jié)果進(jìn)行特定處理,更加直觀體現(xiàn)飛機(jī)的氣動特性。
4.1 參數(shù)輸入功能:建立參數(shù)輸入對話界面,通過中文文字說明,參數(shù)輸入過程將不再需要和符號一一對應(yīng),這不僅減小了人為的輸入錯誤,也提高了效率。
4.2 計(jì)算與數(shù)據(jù)輸出: 參數(shù)輸入完成以后,即可點(diǎn)擊開始計(jì)算,默認(rèn)狀態(tài)下時將把可能計(jì)算的所有氣動導(dǎo)數(shù)完全計(jì)算,實(shí)際編寫程序時可加入對特定的導(dǎo)數(shù)進(jìn)行計(jì)算。計(jì)算完成后可以將計(jì)算結(jié)果按已設(shè)定好的數(shù)據(jù)格式進(jìn)行輸出。
5 結(jié)束語
飛機(jī)氣動力工程估算是飛機(jī)氣動布局設(shè)計(jì)的一項(xiàng)重要工作,它的發(fā)展關(guān)系飛機(jī)氣動布局設(shè)計(jì)的時間和成本。文章通過Matlab軟件,提供了一種飛機(jī)氣動力工程估算程序化自動處理方法,對存在的主要技術(shù)問題提供了解決的辦法。這種工程估算程序化自動處理方法在XXX飛機(jī)氣動力工程估算的過程中實(shí)現(xiàn)部分應(yīng)用,體現(xiàn)出了高效、快捷的特點(diǎn),并且計(jì)算結(jié)果的重復(fù)性精度很高。不足之處是功能還不是很強(qiáng)大。參考國內(nèi)外同行在這方面的經(jīng)驗(yàn),基于文章基礎(chǔ),可以在后續(xù)工作將逐步加入結(jié)果分析、參數(shù)優(yōu)化設(shè)計(jì)等功能,為設(shè)計(jì)人員提供一個較為完善的計(jì)算處理軟件。
參考文獻(xiàn)
[1]飛機(jī)設(shè)計(jì)手冊總編委會.飛機(jī)設(shè)計(jì)手冊(第六冊)[M].北京:航空工業(yè)出版社,2002.
[2]董辰輝.MATlAB2008 全程指南[M].北京:電子工業(yè)出版社,2009.
[3]譚浩強(qiáng).C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2009.
[4]達(dá)恩·亨賽爾曼.精通Matlab[M].西安:李人厚,等譯.西安交通大學(xué),1997.
作者簡介:陳春鵬,男,工程師,研究方向:飛機(jī)氣動力設(shè)計(jì)。
楊康智,男,工程師,研究方向:飛機(jī)氣動力設(shè)計(jì)。
王莉萍,女,工程師,研究方向:飛機(jī)標(biāo)準(zhǔn)化設(shè)計(jì)。