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