曹曉峰,李鴻巖,郭承鵬,王強(qiáng),馬海
中國(guó)航空工業(yè)空氣動(dòng)力研究院高速高雷諾數(shù)氣動(dòng)力航空科技重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽 110034
翼型設(shè)計(jì)的最終結(jié)果直接決定了飛行器的品質(zhì)與性能[1],并直接影響到后續(xù)機(jī)翼設(shè)計(jì)工作的開展[2]。因此在實(shí)際的工程應(yīng)用中,尋找一種有效的方法能夠快速準(zhǔn)確地計(jì)算評(píng)估翼型的繞流場(chǎng),輔助翼型優(yōu)化設(shè)計(jì)顯得十分必要。
傳統(tǒng)的翼型流場(chǎng)及氣動(dòng)特性獲取方法是通過風(fēng)洞試驗(yàn)[3-4]對(duì)初始翼型進(jìn)行吹風(fēng)試驗(yàn),不斷迭代,直到設(shè)計(jì)的翼型滿足流場(chǎng)及氣動(dòng)特性要求為止。整個(gè)過程需要耗費(fèi)巨大的人力與財(cái)力。隨著計(jì)算技術(shù)的飛速發(fā)展,通過計(jì)算流體力學(xué)[5](CFD)技術(shù)使翼型流場(chǎng)及氣動(dòng)特性的獲取減少了對(duì)風(fēng)洞試驗(yàn)的過多依賴,在一定程度上,降低了獲取翼型流場(chǎng)的成本,提高了效率。為了減少比較耗時(shí)的CFD 計(jì)算,有研究者提出使用代理模型來輔助風(fēng)洞試驗(yàn),提高效率。使用較多的代理模型有多項(xiàng)式響應(yīng)面模型[6]、人工神經(jīng)網(wǎng)絡(luò)模型[7-8]和Kriging 模型[9-10]等?;诖砟P偷囊硇土鲌?chǎng)及氣動(dòng)特性計(jì)算具有周期短、費(fèi)用低的優(yōu)點(diǎn)。因此,將代理模型應(yīng)用到翼型設(shè)計(jì)中,輔助風(fēng)洞試驗(yàn),可以縮短翼型設(shè)計(jì)的周期、降低翼型設(shè)計(jì)的研發(fā)費(fèi)用,該方法已成為目前翼型研究設(shè)計(jì)的重要發(fā)展方向。
近年來,隨著人工智能技術(shù)的發(fā)展,人工智能技術(shù)逐漸應(yīng)用到空氣動(dòng)力學(xué)研究領(lǐng)域。深度學(xué)習(xí)技術(shù)利用海量訓(xùn)練數(shù)據(jù),使用深層次的網(wǎng)絡(luò)結(jié)構(gòu),能夠?qū)崿F(xiàn)自動(dòng)、高效和準(zhǔn)確的多層次特征提取,其可以快速建立從輸入數(shù)據(jù)到目標(biāo)數(shù)據(jù)之間的映射關(guān)系,具有極強(qiáng)的歸納學(xué)習(xí)能力。深度學(xué)習(xí)技術(shù)在建模完成后具有計(jì)算速度快、計(jì)算量小、計(jì)算效率高、計(jì)算準(zhǔn)確的優(yōu)點(diǎn)。深度學(xué)習(xí)技術(shù)在航空領(lǐng)域逐步拓展。在直升機(jī)領(lǐng)域人工智能可以進(jìn)行減振降噪與輔助控制[11],在雷達(dá)目標(biāo)檢測(cè)領(lǐng)域利用深度學(xué)習(xí)方法已經(jīng)實(shí)現(xiàn)了對(duì)雷達(dá)背景的分類[12];在顫振信號(hào)處理方向[13-14]與低速不可壓縮流狀態(tài)下的流場(chǎng)重構(gòu)[15]等領(lǐng)域中已經(jīng)有了初步的應(yīng)用探索。
本文建立了一個(gè)從數(shù)據(jù)前處理、深度神經(jīng)網(wǎng)絡(luò)計(jì)算、計(jì)算結(jié)果后處理的全流程方法,包括數(shù)據(jù)集自動(dòng)生成、批量化生成、計(jì)算結(jié)果可視化等?;谏疃葘W(xué)習(xí)技術(shù)對(duì)二維翼型的高速流場(chǎng)計(jì)算結(jié)果進(jìn)行建模,建立從二維翼型、來流速度、迎角速度、密度、壓力等流動(dòng)參數(shù)間的直接映射,可快速獲得當(dāng)前翼型的流場(chǎng)分布,其工作流程如圖1所示。
圖1 二維翼型流程重構(gòu)工作流程Fig.1 The workflow of 2D airfoil field reconstruction
1.1.1 翼型幾何表達(dá)方法
UIUC數(shù)據(jù)庫中包含1200種不同翼型,將UIUC數(shù)據(jù)庫中獲取其翼型參數(shù)文件進(jìn)行可視化,如圖2(a)所示。本文所使用的翼型幾何表達(dá)方法借鑒了計(jì)算機(jī)視覺領(lǐng)域圖像分割任務(wù)中的掩膜版標(biāo)簽(Mask)形式,將翼型內(nèi)外以0、1 進(jìn)行區(qū)分,1表示翼型輪廓曲線內(nèi)區(qū)域,0 表示流體流動(dòng)計(jì)算區(qū)域,該方法能夠在對(duì)翼型幾何形狀進(jìn)行描述的同時(shí)區(qū)分流體流動(dòng)區(qū)域與非流動(dòng)區(qū)域,翼型幾何表達(dá)的Mask形式如圖2(b)所示。
圖2 翼型幾何形狀與Mask表達(dá)(以GOE611翼型為例)Fig.2 Airfoil geometry and Mask expression(take GOE611 as an example)
1.1.2 數(shù)據(jù)集生成
神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)來自航空工業(yè)氣動(dòng)院自研計(jì)算流體力學(xué)軟件UNSMB 的數(shù)值仿真計(jì)算結(jié)果。給定來流速度、迎角和氣壓,通過CFD 計(jì)算求解翼型周圍可壓縮流的速度、壓力和密度分布,來流速度范圍為150~200m/s,迎角范圍為±5°。從UIUC數(shù)據(jù)庫中獲取了1200種不同翼型,用于根據(jù)上述范圍內(nèi)隨機(jī)取樣自由流與迎角生成輸入數(shù)據(jù)。首先使用PointWise 軟件自動(dòng)生成翼型網(wǎng)格,如圖3 所示。隨后根據(jù)自由流、迎角與壓力使用UNSMB軟件計(jì)算求解。對(duì)于當(dāng)前問題而言,翼型周圍和尾流區(qū)域的流場(chǎng)是關(guān)鍵的,利用128×128 的網(wǎng)格對(duì)CFD 的計(jì)算結(jié)果進(jìn)行篩選插值,將UNSMB 計(jì)算后的數(shù)據(jù)映射到128×128 的矩陣中用于制作卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集,共生成5700個(gè)數(shù)據(jù)樣例。數(shù)據(jù)集可視化后示例如圖4所示。
圖3 GOE611翼型計(jì)算網(wǎng)格Fig.3 Numerical mesh of airfoil GOE611
圖4 數(shù)據(jù)集示例(橫、縱坐標(biāo)為采樣點(diǎn)序號(hào))Fig.4 The example of dataset(GOE 611)(the abscissa and ordinate are the serial numbers of sampling points)
數(shù)據(jù)集按照9∶1的比例劃分為訓(xùn)練集與測(cè)試集。訓(xùn)練集用于模型訓(xùn)練與驗(yàn)證,在進(jìn)行模型訓(xùn)練時(shí),隨機(jī)從訓(xùn)練集中選定固定樣本數(shù)用于模型驗(yàn)證,其余樣本用于模型訓(xùn)練。驗(yàn)證集用來評(píng)估模型在訓(xùn)練過程中的損失值收斂性與訓(xùn)練過程中模型的準(zhǔn)確性,可以依據(jù)訓(xùn)練模型在驗(yàn)證集上的損失值與準(zhǔn)確性進(jìn)行模型參數(shù)保存。測(cè)試集用于對(duì)已保存的模型進(jìn)行性能評(píng)估。
由于神經(jīng)網(wǎng)絡(luò)模型的輸入限制,遠(yuǎn)場(chǎng)速度分量、壓力與翼型幾何外形在輸入神經(jīng)網(wǎng)絡(luò)前,都需進(jìn)行尺寸重置,以確保輸入神經(jīng)網(wǎng)絡(luò)模型的矩陣大小為128×128。同時(shí),用于模型訓(xùn)練的數(shù)據(jù)標(biāo)簽大小也統(tǒng)一為128×128,便于計(jì)算模型預(yù)測(cè)值與真實(shí)標(biāo)簽值之間的均方誤差(MSE)。所有輸入到深度神經(jīng)網(wǎng)絡(luò)的矩陣均統(tǒng)一進(jìn)行歸一化與均值化操作。
本文的神經(jīng)網(wǎng)絡(luò)模型基于U-Net 結(jié)構(gòu)[16],U-Net 網(wǎng)絡(luò)可以將空間信息轉(zhuǎn)換為卷積層可提取的特征,同時(shí)引入了從輸入到輸出通道間的跳躍連接方式,可以確保輸出層中的信息能夠被神經(jīng)網(wǎng)絡(luò)判別器所利用。我們所使用的神經(jīng)網(wǎng)絡(luò)是一種改進(jìn)后的U-Net變體。
該U-Net網(wǎng)絡(luò)是一種特殊的編碼解碼結(jié)構(gòu)體。在編碼部分,對(duì)圖像進(jìn)行跨步卷積逐步降采樣,允許網(wǎng)絡(luò)在不斷增長(zhǎng)的特征通道中提取越來越大規(guī)模和抽象的信息,通過特征拼接結(jié)構(gòu)將所有通道從編碼分支連接到對(duì)應(yīng)的解碼部分,有效地將每個(gè)解碼塊的通道數(shù)量加倍。網(wǎng)絡(luò)中的每一個(gè)部分都包括一個(gè)卷積層、一個(gè)歸一化層與一個(gè)非線性激活函數(shù)層。改進(jìn)后的U-Net 網(wǎng)絡(luò)使用了7 個(gè)卷積模塊,編碼過程中使用了斜率為0.2的ReLU函數(shù),在解碼層中使用了規(guī)則的ReLU 目標(biāo)函數(shù),目標(biāo)函數(shù)的期望維數(shù)為128×128×4。網(wǎng)絡(luò)結(jié)構(gòu)架構(gòu)如圖5所示。
圖5 深度神經(jīng)網(wǎng)絡(luò)架構(gòu)Fig.5 The framework of deep learning net
基于Pytorch 深度神經(jīng)網(wǎng)絡(luò)框架搭建了變種U-Net 網(wǎng)絡(luò)。在訓(xùn)練過程中使用Adam優(yōu)化器與L1正則進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練。模型訓(xùn)練過程中學(xué)習(xí)率為0.0006,迭代次數(shù)為10000,dropout 隨機(jī)丟棄單元概率為0.5。模型在訓(xùn)練過程中的平均絕對(duì)誤差降低到0.00436 時(shí),判定模型訓(xùn)練收斂,進(jìn)行模型保存。
深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練基于單臺(tái)工作站。CPU 為Intel Xeon(R)Silver 4210R CPU(2.40GHz,10 核心)×2,64G 內(nèi)存,GPU為NVIDIA Quadro RTX 4000,基于Ubuntu 20.04.3 LTS。
模型測(cè)試共使用570 個(gè)樣本作為測(cè)試集。使用速度、壓力和密度的平均均方誤差(MSE)和各單獨(dú)物理量的均方誤差MSE 判斷模型性能。均方誤差是指參數(shù)估計(jì)值與參數(shù)真值之差平方的期望值。MSE 可以評(píng)價(jià)數(shù)據(jù)的變化程度,MSE越小說明預(yù)測(cè)模型描述試驗(yàn)數(shù)據(jù)具有更好的精確度。MSE的計(jì)算公式如式(1)所示
式中:Ot為目標(biāo)值,Pt為預(yù)測(cè)值。
分別使用不同大小的數(shù)據(jù)集對(duì)深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行模型訓(xùn)練與驗(yàn)證,得到了兩個(gè)不同的模型參數(shù)文件。對(duì)兩個(gè)不同的模型進(jìn)行模型測(cè)試。在數(shù)據(jù)集大小為3000 的數(shù)據(jù)集上,深度神經(jīng)網(wǎng)絡(luò)模型的表現(xiàn)較差,平均MSE 為10.4082%、密度MSE 為2.3965%、VxMSE 為30.3324%、VyMSE 為2.4487%、壓力MSE 為6.4555%。在數(shù)據(jù)集大小為5700 的數(shù)據(jù)集上,深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型表現(xiàn)較好,模型的平均MSE為5.0004%、密度MSE 為0.9614%、VxMSE 為14.7701%、VyMSE 為0.8428%、壓力MSE為3.4273%。模型的測(cè)試結(jié)果見表1。
表1 深度神經(jīng)網(wǎng)絡(luò)模型測(cè)試結(jié)果Table 1 The result of model test
隨著數(shù)據(jù)集的擴(kuò)充,模型的測(cè)試結(jié)果得到了較好的提升,平均MSE由10%降到了5%,表明數(shù)據(jù)集的擴(kuò)充可以帶來模型準(zhǔn)確率的提升。當(dāng)數(shù)據(jù)樣本較少時(shí),深度神經(jīng)網(wǎng)絡(luò)無法從數(shù)據(jù)中學(xué)習(xí)到更細(xì)致準(zhǔn)確的流場(chǎng)特征。隨著數(shù)據(jù)集樣本的擴(kuò)充,也帶來了詳細(xì)的各流場(chǎng)分量的MSE 的降低,進(jìn)一步表明數(shù)據(jù)集的大小對(duì)于深度神經(jīng)網(wǎng)絡(luò)模型的權(quán)重參數(shù)學(xué)習(xí)有著重要的作用,符合常規(guī)的隨著數(shù)據(jù)集的擴(kuò)增深度神經(jīng)網(wǎng)絡(luò)建模的準(zhǔn)確率逐漸提升的規(guī)律。圖6所示為真實(shí)流場(chǎng)與深度學(xué)習(xí)預(yù)測(cè)流場(chǎng)對(duì)比。
圖6 CFD計(jì)算結(jié)果與深度學(xué)習(xí)計(jì)算結(jié)果對(duì)比(GOE611,自由流速度174m/s,迎角1.871°)Fig.6 Comparison between CFD results and deep learning results(GOE611,freestream 174m/s,α=1.871°)
深度神經(jīng)網(wǎng)絡(luò)方法在保證計(jì)算精度的基礎(chǔ)上,大大提高了計(jì)算效率。在模型測(cè)試階段對(duì)深度神經(jīng)網(wǎng)絡(luò)的單個(gè)算例計(jì)算時(shí)間進(jìn)行統(tǒng)計(jì),對(duì)比UNSMB 的單個(gè)算例計(jì)算時(shí)間有較大的速度提升。深度神經(jīng)網(wǎng)絡(luò)計(jì)算的時(shí)間約為常規(guī)CFD求解器的1/150,單個(gè)算例計(jì)算時(shí)間統(tǒng)計(jì)見表2。
表2 單個(gè)算例計(jì)算時(shí)間對(duì)比Table 2 Comparison of calculation time of single numerical example
本文中模型的計(jì)算準(zhǔn)確度較好,相對(duì)誤差在5%左右。然而,如何進(jìn)一步減少這一誤差是一個(gè)重要的問題,當(dāng)前在數(shù)據(jù)集擴(kuò)充后,模型的預(yù)測(cè)準(zhǔn)確度得到了提升,但無限的增加訓(xùn)練數(shù)據(jù)的大小在達(dá)到一定精度后并不會(huì)再對(duì)模型的準(zhǔn)確度有所提升。后續(xù)需要進(jìn)一步進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化與方法優(yōu)化。
任何情況下,模型的預(yù)測(cè)結(jié)果都不是完全與CFD計(jì)算結(jié)果相同的。誤差通常表現(xiàn)在機(jī)翼后面尾跡的流場(chǎng)變化。且速度分量Vx的相對(duì)誤差較之密度、Vy和壓強(qiáng)偏大。這可能是由于模型從當(dāng)前數(shù)據(jù)集中所提取的新信息較少,可以考慮引入其他翼型庫對(duì)模型進(jìn)行再訓(xùn)練,以提高模型的泛化能力。盡管預(yù)測(cè)結(jié)果與真實(shí)流場(chǎng)之間存在相對(duì)誤差,但從預(yù)測(cè)可視化結(jié)果來看,本文預(yù)測(cè)的流場(chǎng)趨勢(shì)基本與真實(shí)流場(chǎng)的趨勢(shì)是相同的。
深度神經(jīng)網(wǎng)絡(luò)模型在來流速度為150~200m/s,迎角為±5°的速度、壓力、密度流場(chǎng)重構(gòu)的平均MSE 達(dá)到了5.0003%,在解的準(zhǔn)確性上有著較好的表現(xiàn)。本文提出的基于卷積神經(jīng)網(wǎng)絡(luò)的二維翼型流場(chǎng)重構(gòu)方法,可以根據(jù)當(dāng)前來流條件快速獲取翼型周圍流場(chǎng),驗(yàn)證了深度學(xué)習(xí)算法在氣動(dòng)領(lǐng)域流場(chǎng)求解中的應(yīng)用,表明深度學(xué)習(xí)算法在快速CFD 求解上的可行性,深度學(xué)習(xí)算法可以有效提高翼型流場(chǎng)求解的效率。
當(dāng)前工作是深度學(xué)習(xí)技術(shù)在氣動(dòng)研究領(lǐng)域的初步探索,探討深度神經(jīng)網(wǎng)絡(luò)算法與CFD 氣動(dòng)問題求解的匹配度。后續(xù)可通過更細(xì)致的幾何外形描述方法(如點(diǎn)云、SDF方法)建立流場(chǎng)與幾何外形的映射;進(jìn)一步區(qū)分流場(chǎng)標(biāo)簽中的近場(chǎng)與遠(yuǎn)場(chǎng),建立近場(chǎng)標(biāo)簽,避免插值帶來的精度損失,建立更為精細(xì)化的映射關(guān)系。