楊從新,凌祖光,王巖,錢晨,趙斌,周楠楠
(1.蘭州理工大學能源與動力工程學院,730050,蘭州;2中國核動力研究設計院,610000,成都)
計算流體力學(CFD)方法廣泛應用于流場的數值計算,朱志斌等采用大渦模擬(LES)方法計算低雷諾數翼型層流分離流動中渦系結構的時空演化過程、均化流場以及雷諾應力等脈動參數分布特征[1];時北極等利用滑移速度壁模型構建等效體積力,并采用浸入邊界與壁模型相結合的大渦模擬方法對雷諾數為1.2×106的回轉體繞流計算,驗證大渦模擬方法在高雷諾數下的準確性[2]。上述學者的研究成果表明數值模擬方法能夠獲得很高的計算精度,但CFD方法通常需要消耗大量的計算資源與時間,而且難以重復利用數值計算結果。趙松原等提出借助降階模型[3]提取流場主要特征構造函數以減少計算時間,但降階模型對流場參數變化較為敏感,魯棒性不佳[4]。近年來,深度學習方法依靠強大的特征學習能力,廣泛應用于各個領域,這也為流場預測提供新思路。
目前已有部分學者將深度學習方法應用于流場預測中,如Miyanawala等利用卷積神經網絡(CNN),成功預測了不同幾何外形柱體的流體載荷[5];Lee等采用生成對抗網絡來學習全階Navier-Stokes方程的非定常數值解,通過對兩個雷諾數下二維圓柱繞流全階數值解的學習,就能夠準確預測出介于兩個雷諾數之間的二維圓柱尾流融合的非定常過程[6];何磊等通過對比克里金法、徑向基神經網絡方法及支持向量機方法,并應用于火箭氣動特性建模[7];惠心雨等利用回歸生成對抗網絡學習圓柱繞流非定常流動,成功預測不同時刻圓柱繞流的流場參數,并將回歸生成對抗網絡、條件生成對抗網絡和真實樣本之間的誤差進行對比[8]。上述學者的研究表明深度學習方法具有預測復雜流場的能力。
此外,針對特定問題,亦有學者選擇改進激活函數以達到更高計算精度。例如,Maas等改進神經網絡的激活函數為線性修正單元(Leaky ReLU),相比傳統線性整流函數(ReLU)[9],Leaky ReLU在語音識別的噪聲分離上能獲得更好的結果[10];Klambauer等通過理論推導,將ELU激活函數改進為SELU激活函數[11],使神經網絡具有更好的魯棒性。
由上述研究可知,改進激活函數能獲得更加精確的計算結果,但目前針對流場計算的激活函數較少。本文基于全連接神經網絡,設計了一種能夠通過遷移學習算法約束并預測一定攻角和雷諾數范圍內NACA0018翼型流場的激活函數,使改進激活函數能根據所給出的雷諾數,預測小攻角下NACA0018翼型壓力場、速度場。
深度學習作為一種人工智能方法,通常由深度神經網絡算法實現,根據學習方式不同可以分為監督式學習、半監督式學習與無監督式學習。相比半監督學習與無監督學習,監督學習是一種能快速建立輸入標簽與輸出變量關系的機器學習方法[12],在有標簽的情況下可以快速精準擬合映射關系,故本文采用監督式學習方法下的全連接神經網絡預測NACA0018翼型的外流場。
全連接神經網絡指神經網絡每一個連接層的每個結點都與上一層的所有結點相連,通過全連接逐級完成特征提取[13],計算公式如下
(1)
式中:X是輸入參數;b是偏置;Y為輸出參數;W是權重系數。
全連接層的正向傳播和反向傳播均以矩陣計算完成,通過權重系數和偏置計算獲得輸入參數與輸出結果的線性關系,最后通過激活函數的非線性變換獲得輸入與輸出的非線性映射關系。其基本思想是每一次訓練結束,通過鏈式求導法則反向傳播誤差,修正權重,直到訓練結束。
采用改進激活函數的全連接神經網絡進行流場預測,訓練的主要流程如圖1所示,將CFD計算結果作為真實樣本,并將其分為互斥的訓練集和測試集。構建全連接神經網絡,將訓練集樣本數據輸入神經網絡,調整超參數使之在訓練集上具有較小的損失以獲得準確預測的模型。保存訓練完成的模型后將預測數據輸入神經網絡,得到壓力場與速度場,并與真實樣本對比,驗證預測模型的準確性。
本次預測采用NACA0018翼型作為研究對象,該翼型具有升阻比大、后緣分離緩慢等優點[14-15],被廣泛應用于垂直軸風力機中[16]。翼型弦長C=1 m,通過改變來流速度控制雷諾數的變化。利用ANSYS ICEM進行網格劃分,計算模型如圖2a所示,翼型前緣到進口邊界、出口邊界的距離分別為15C和20C,全局采用C型結構化網格。對翼型近壁面進行網格加密,如圖2b,為保證壁面y+<1[17],邊界層法向第一層網格高度設置為1.5×10-5m,網格增長率為1.05,總網格數為17萬,滿足SSTK-ω模型的計算要求。利用FLUENT軟件進行數值計算,動量、湍動能和壓力均采用二階迎風格式離散,壓力-速度耦合器采用SIMPLEC算法,邊界條件設置為速度進口、壓力出口,翼型表面設置為絕熱無滑移壁面,計算攻角α=2°,4°,6°,8°,計算完成后對比升力系數與實驗的誤差如圖3所示[18]。

(a)整體網格劃分(b)局部放大圖 圖2 計算與訓練網絡

圖3 升力系數的數值模擬與實驗對比
由圖3可以看出,CFD方法能夠獲得較高精度,其預測誤差均小于5%。舍棄頭尾雷諾數,最終利用CFD方法重新獲得NACA0018翼型在α=2°,4°,6°,8°、Re=0.1×106~1.6×106下的壓力場、速度場作為真實樣本各140組數據,并將其隨機分為132組訓練集和8組測試集,來驗證神經網絡的準確性。
因為流場中同一點速度和壓力滿足守恒方程,存在相互約束的情況,因此利用流場中速度與壓力的關系來構造激活函數,并行輸出速度場與壓力場,使輸出結果相互約束,加速收斂。
速度場采用Leaky ReLU激活函數計算,激活函數如下

(2)
式中:x是輸入自變量;f(x)是輸出結果。
由于翼型的升阻力系數主要取決于翼型表面壓力分布,綜合壓力場與速度場能量守恒關系,采用圓柱繞流流場速度公式近似推導動壓與靜壓的關系,其速度分布[19]如下
(3)
式中:v∞是無窮遠處來流速度;v是流場中任一點速度。在流場中的某一點可認為v∝v∞,根據能量守恒,簡化后的伯努利方程如下
(4)
式中:p是流場中某一點壓強;p∞是無窮遠處來流壓強;ρ是流體密度;g是重力加速度。
流場中任意一點速度與壓力近似呈現二次關系[19]。考慮到速度壓力激活函數適應性,設計激活函數如下
(5)
式中:x是輸入自變量;f(x)是輸出結果。
由于在計算過程中進行了簡化近似,為修正簡化過程對預測精度影響,在改進激活函數后添加使用傳統SELU激活函數的網絡層對預測數據進行修正。
損失函數用于計算模型預測值與預期輸出之間的相似程度,針對不同的問題,需要采用合理的的損失函數,將損失函數值降至最小是預測的最終目標。
由于流場預測的問題屬于回歸問題,本次預測采用平均絕對誤差作為損失函數(MAE),以真實樣本和預測樣本的差值作為損失函數反向運算,表達式如下
(6)

優化器采用Adam方法[20],該方法適合多參數的計算,相比于動量梯度下降方法和RMS prop方法等具有計算效率高、內存要求少的優點。
采用python語言和tensorflow2.0深度學習框架搭建神經網絡及數據處理程序,其中神經網絡輸入參數為雷諾數,輸出參數為翼型的壓力場、速度場。
如圖4所示:神經網絡第1、2層用于拉伸數據維度,因此采用線性激活函數(Linear)以加快計算速度;在3~6層將數據進行非線性變換,映射到樣本標記空間進行非線性的激活和學習;在隱藏層6之后采用遷移學習方法思想;隱藏層7與隱藏層7′將隱藏層6的輸出參數分別使用自定義激活函數和Leaky ReLU激活函數進行遷移學習得到近似的二次關系;最后在隱藏層8與8′采用SELU激活函數將預測結果進行二次修正后輸出預測壓力場速度場,即為圖4中速度場遷移學習和壓力場遷移學習。其中,隱藏層7與7′、隱藏層8與8′之間沒有直接聯系,通過損失函數對兩者輸出計算反向誤差,利用鏈式求導法則修正權重。每經過一次正向運算和反向運算為一個完整的訓練過程。相比于采用兩組獨立神經網絡的方法,本文使用遷移學習方法在不同的輸出采用相同損失函數達到相互制約的目的,并且該方法在一次梯度下降過程中可以對兩組輸出進行反向修正,加速收斂,預測模型詳細參數如表1所示。

圖4 神經網絡結構

表1 神經網絡結構參數
最后,采用全連接神經網絡進行預測,優化器選用Adam[20],學習率初始值為0.000 7,每次按1%的速度衰減,訓練總步數為500步,每批次輸入22組包含雷諾數和攻角的列表及對應的壓力場速度場數據,并通過梯度下降法逐步擬合流場參數,在神經網絡中采用L2正則化方法預防過擬合。在訓練完成后進行預測,保存預測的流場數據與網絡模型,以達到重復利用的目的。
通過神經網絡可以計算得到翼型壓力場、速度場分布如圖5、圖6所示。

(a)傳統激活函數神經網絡 (b)改進激活函數神經網絡 (c)數值模擬結果 預測結果 預測結果圖5 α=4°、Re=0.55×106時壓力場真實樣本與神經網絡預測結果誤差分析

(a)傳統激活函數神經網絡 (b)改進激活函數神經網絡 (c)數值模擬結果 預測結果 預測結果圖6 α=4°、Re=0.55×106時速度場真實樣本與神經網絡預測結果誤差分析
圖5為α=4°、Re=0.55×106下的翼型附近壓力場對比云圖,通過對比翼型繞流壓力場可知,壓力最大值出現在翼型表面迎風駐點處,與之相對在上翼面距前緣約0.1C位置出現低壓區,并出現輕微的流動分離。在翼型后緣附近,上下翼面繞流在鈍尾緣匯合,使得后緣附近的壓力升高,與文獻[14-15]結果一致,且在局部放大圖中可以看出尾緣附近高壓區的預測結果比真實樣本大。這是因為尾緣附近流動不穩定,速度變化較劇烈,而神經網絡的擬合為保證全局最優,導致在尾緣附近無法準確預測。
圖6為α=4°、Re=0.55×106時的速度場云圖,速度場預測結果誤差較為明顯,兩種神經網絡預測結果比真實樣本略大。由圖可以看到,在翼型上翼面部分神經網絡預測的速度場過渡部分出現明顯鋸齒狀分布,且傳統神經網絡鋸齒狀分布更加明顯。這是由于上翼面附近速度較大,且該處速度變化較為劇烈,神經網絡在該處難以適應流場劇烈變化而產生誤差。通過改進激活函數,將壓力與速度聯立擬合可以獲得較好的精度。此外,在距后緣約0.8C~1.5C的位置神經網絡速度場預測結果出現條狀分布,傳統神經網絡預測結果大幅度偏離真實樣本趨勢,而改進的神經網絡預測結果雖然出現條狀速度分布,但總體趨勢與真實樣本有類似的過渡趨勢。其原因是在有攻角繞流中上下翼面繞流在后緣附近發生流動沖擊,流動不穩定,速度變化劇烈,使神經網絡擬合度降低。
通過對比翼型速度場及壓力場云圖可以發現,完全采用Leaky ReLU激活函數難以獲得準確的壓力場預測結果,采用改進激活函數時,能有效地降低速度場分布不均問題和速度云圖的鋸齒問題。

(a)壓力場預測誤差

(b)速度場預測誤差圖7 兩種神經網絡的速度場和壓力場誤差
圖7a、7b為隨機抽取的8組數據下兩種不同激活函數神經網絡預測結果與真實樣本之間壓力場、速度場的平均誤差。改進激活函數在所有攻角下壓力場的預測中,平均誤差分別為2.77%和2.782%,速度場平均誤差分別為2.775%和11.01%;兩種神經網絡的最大誤差均出現在α=6°、Re=0.5×106處,原因是該雷諾數下開始出現較大流動而不穩定,導致計算結果出現較大誤差[21],神經網絡對這一特殊流態的捕捉出現了較大偏差。
統計誤差可得傳統激活函數壓力場、速度場誤差分別為2.887%和1.995%,而傳統激活函數的預測誤差達到了26.993%。其原因是傳統激活函數對壓力場速度場的關系不能準確把握,場量之間沒有任何約束,導致網絡模型在速度場預測中出現較大誤差,而速度場預測誤差普遍比壓力場大是因為翼型邊界層速度接近于0,在計算相對誤差時分母很小,導致誤差較大。通過對比可得,相比傳統激活函數,改進的激活函數在流場預測中具有更好的魯棒性。
翼型表面壓力系數直接決定翼型升阻力系數,提取部分預測結果和真實樣本壓力系數Cp進行對比,結果如圖8所示。由圖可知:駐點出現在翼型表面前緣點的下方,上翼面的壓力系數在前緣點之后出現陡降,隨后逐漸回升;下翼面壓力系數從前緣點至駐點處急劇升高,并在駐點處達到最大值1,隨后逐漸減小,與文獻[14-15]結果一致;在后緣附近,上下翼面壓力近似相等。由于翼型前緣點附近壓力變化較大,真實樣本表面壓力系數出現波動[22],神經網絡方法難以準確擬合,預測結果出現較大波動,引起較大誤差。
將傳統神經網絡預測結果、改進神經網絡預測結果、真實樣本計算結果和Xfoil計算結果[23]對比,可以發現兩種樣本都與真實樣本接近,但由于數值模擬未能準確計算出轉捩位置,故神經網絡未能學習這一過程。對比兩種神經網絡對表面壓力系數的預測結果,采用改進激活函數神經網絡可以更準確地獲得表面壓力系數,尤其在駐點附近和上翼面分離點到尾緣部分,原因是傳統激活函數預測結果缺少相互約束,故傳統激活函數預測結果具有較大偏差。
綜合比較圖8與表2、表3可以看出,改進神經網絡在壓力場、速度場的預測中效果更好,而傳統神經網絡在速度場預測中存在較大誤差。這是因為在近壁面速度近似為0,而預測結果通常會有一定的絕對誤差,從而產生較大的相對誤差,但改進激活函數計算所得壓力與速度相互修正,可得更好結果。

(a)α=2°,Re=0.35×106(b)α=2°,Re=1.1×106

(c)α=2°,Re=1.55×106(d)α=4°,Re=0.55×106

(e)α=6°,Re=0.5×106(f)α=6°,Re=1.35×106

(g)α=8°,Re=0.75×106(h)α=8°,Re=1.6×106圖8 不同雷諾數下翼型上下翼面壓力系數對比

表2 改進激活函數與傳統激活函數神經網絡壓力預測誤差對比

表3 改進激活函數與傳統激活函數神經網絡速度預測誤差
表4通過對比CFD與神經網絡的計算時長,可以發現,在相同條件下,CFD計算時長以h為單位,訓練完成的神經網絡計算時長以s為單位。神經網絡計算時長與傳統CFD方法相比減少至少兩個數量級。

表4 CFD與神經網絡計算時長對比 min
本文基于改進的全連接神經網絡預測NACA0018翼型在Re=0.1×106~1.6×106下的壓力場和速度場,將能量守恒方程與深度學習方法相結合,構造新的激活函數,采用多任務學習思想來約束速度場、壓力場計算的結果,得到雷諾數與流場參數的映射關系。通過對比CFD計算結果,驗證改進激活函數的神經網絡對不同雷諾數下流動狀態預測的泛化能力和模擬精度,得到結論如下。
(1)利用全連接神經網絡能夠復現Re=0.1×106~1.6×106下翼型的壓力場與速度場,對比真實樣本發現,改進激活函數的神經網絡在流場預測中具有更好的魯棒性。
(2)在網絡采用正則化方法的前提下,改進激活函數神經網絡相比常規激活函數神經網絡在翼型表面的壓力場與速度場預測中有更高的準確度,尤其在容易出現誤差的近壁面處,改進激活函數的神經網絡能夠更準確地預測流場。
(3)經過一次訓練保存的神經網絡無需二次訓練即可以反復調用并預測一定范圍的翼型流場,相比翼型流場數值模擬,神經網絡方法可以通過學習準確的CFD數據或實驗復現流場,其計算時長與傳統CFD方法相比,花費時間從h降低到s,大大提高了計算效率。