李治龍, 周恒安, 翁俊輝, 歐洺余, 朱宏娜*
(1.西南交通大學物理科學與技術學院, 成都 610031; 2.西南交通大學信息科學與技術學院, 成都 610031)
非定常周期性流體流動的研究是流體力學中熱門研究領域,其物理模型通常由一個或多個偏微分方程描述。常用的求解方法是通過離散偏微分控制方程建立數值求解方法,形成一個可求解的數學表達式[1-2]。基于納維-斯托克斯(Navier-Stokes, N-S)的計算流體力學(computational fluid dynamics, CFD)數值模擬是研究非定常周期性流體流動的常用方法之一,但CFD對網格要求高,求解N-S方程的過程復雜,以致占用較多計算時間。特別在網格數量大且幾何外形復雜等情況下,CFD方法會占用大量運行時間[3]。
近年來,深度學習技術發展迅速,廣泛運用于計算機視覺、自然語言處理、語音識別等領域[4-5]。非定常周期性流體流動問題具有非線性強且數據量大等特點使得深度學習在此領域具有重大應用前景[6]。“萬能近似定理”[7-8]表明:由于神經網絡在理論上可以近似任意函數,所以深度學習在理論上也具備預測流體流動的可行性。
基于深度學習在流體流動預測領域中的應用,也開展了相關研究。Guo等[9]以玻爾茲曼算法為訓練數據集,對卷積神經網絡(convolutional neural network, CNN)進行訓練,成功模擬了不同形狀結構物的穩態流場結果。Parish等[10]通過反演模型推斷方法得到平均流物理量和模型的映射關系,使用機器學習方法,通過仿真和實驗數據對模型進行修正,得到與數值模型相近的結果。Han等[11]通過深度神經網絡從高維非定常流場數據中提取時空特征,能利用歷史數據預測未來時刻的數據。王臣等[12]運用CNN對流體結構相互作用問題進行求解,求解了不同流速、不同結構物形態及位置等條件下的流體結構相互作用問題,實現結果的快速預測。惠心雨等[13]將條件生成對抗網絡與卷積神經網絡結合,預測了不同時刻的流場變量,實現了結果的快速預測。Li等[14]在長短期記憶網絡(long short-term memory, LSTM)中引入數值方法,將流場的時空數據輸入網絡,構成閉環序列結構,降低了測量和模型參數在長期預測中的誤差累積,提高了模型的泛化性。
雖然傳統的深度學習方法也能對流體流動進行預測,但由于其“獨立同分布”的模型假設和只能處理歐幾里得數據的缺陷導致預測精度不高。而圖卷積循環網絡是一種基于圖結構的深度學習方法,通過學習圖結構數據特征,能有效處理流體流動數據。流體流動數據作為典型的時空數據,具有時空依賴性。對流體流動數據進行建模,需要考慮未來時刻的流體流動數據對歷史的流體流動數據時空依賴。若在建立模型時不考慮歷史的流體流動數據,會丟失流體流動的時空連續性關系,導致預測結果出現較大偏差。因此,本文采用圖卷積循環網絡對流體流動進行預測,建模歷史數據以及未來數據間的依賴關系,避免求解復雜物理方程,實現流場結果的快速預測。相比于復雜物理方程求解,能達到較高的精度并明顯縮短計算耗時,為快速實時預測提供支撐。

{y1,y2,…,yh}=model(X1,X2,…,Xt)
(1)
圖卷積神經網絡(graph convolution neural network, GCN)是一種多層神經網絡[15]。GCN可直接在圖上作用,屬于譜域圖卷積,其核心思想是中心節點對其鄰居節點進行信息聚合,并將鄰居節點的特征信息進行編碼[16]。譜域圖卷積通過傅里葉變換將時域信號轉換到頻域,過濾后將結果通過傅里葉反變換變換到時域。在譜域圖卷積中,圖由對應的拉普拉斯矩陣L表示為
L=D-A
(2)
式(2)中:D為圖中節點的度矩陣;A為圖中節點的鄰接矩陣。通常由正則化的拉普拉斯矩陣Lsym表示為

(3)
式(3)中:I為單位矩陣。將L進行特征值分解,得
L=UΛUT
(4)
式(4)中:Λ為對角矩陣L;對角線的值為L的特征值;U為L的特征向量矩陣。
GCN利用定義在頻域中對角化的線性算子,來代替經典卷積算子實現卷積操作[17]。GCN通過傅里葉變換,將節點特征映射到頻域,經過濾操作后,再通過傅里葉逆變換獲得時域節點特征,從而得到譜域圖卷積[18]。將卷積核gθ參數化為切比雪夫多項式TK的K-1階展開,表示為

(5)
式(5)中:θ∈RK為切比雪夫系數的向量。使用卷積核gθ對圖G進行卷積(*),即
gθ*x=UgθUTx
(6)
譜域圖卷積采用的層間傳播通式為
Hl+1=f(Hl,A)
(7)
式(7)中:l為圖卷積的層數;Hl為第l層圖卷積的激活值,初始的輸入表示為H0=x∈RN×n,N為圖中的節點數,n為節點的特征數,基本實現為

(8)

門控循環單元(gate recurrent unit, GRU)是LSTM的變體[19]。GRU旨在解決循環神經網絡(recurrent neural network, RNN)中梯度消失的問題,并能提高訓練效率[19]。
GRU使用門控機制控制輸入和記憶信息,并在當前時間步輸出預測信息。GRU有兩個門,分別為一個重置門和一個更新門,其結構如圖1所示。重置門定義了前面單元結構傳入的記憶信息與本單元輸入信息相結合的方式,更新門定義了前面單元結構傳入本單元信息保留的量。

圖1 GRU結構圖Fig.1 The structure of GRU
網絡的前向傳播公式為

(9)

GRU相互連接,形成循環結構,當前單元結構的輸入是由之前單元結構的最終記憶信息和當前單元結構的輸入信息的融合結果。將具有時間關聯性的數據按時間順序輸入到GRU串聯組成的網絡中,經過不斷學習,就能捕捉到輸入時間序列數據中的時間相關性。
考慮到流體流動具有時空特征,本文中設計基于圖卷積循環網絡流體流動預測模型來完成非定常周期性流體流動的預測任務,模型框架如圖2所示。模型的輸入為T個時間步的歷史數據,通過GCN捕捉空間相關性,得到流體節點網絡的固定拓撲結構和學習序列之間的自適應關聯關系,然后將具有空間特征的時間序列輸入到GRU中,經GRU之后信息傳遞獲取序列數據的變化動態,使用ReLU激活函數,最終得到未來時刻的預測結果。其計算過程為

圖2 模型框架Fig.2 Model architecture diagram

(10)
總的來說,圖卷積循環網絡模型既具有GCN處理圖數據的能力,又具有GRU捕捉時間序列的能力,能處理流體流動數據中復雜的時空依賴關系。一方面,GCN被用來捕獲流體數據的拓撲結構中節點之間的空間依賴關系。另一方面,GRU被用來捕獲圖中邊信息的動態變化以得到節點自身的時間依賴性。通過以上模塊的有效結合,充分建立圖神卷積神經網絡對流體流動時空依賴性的模型,完成對流場參數的預測。
圓柱繞流是CFD中常見的非定常周期性流體流動案例,因此本文中采用COMSOL多物理場仿真軟件對流域長度L=0.5 m、流域寬度W=0.2 m的圓柱繞流場進行了數值模擬,并通過改變圓柱的半徑、位置以及入口速度得到500個圓柱繞流的流場變量數據集。計算網格如圖3所示,每個網格平均有1 852個節點,2 972條邊。

圖3 計算網格Fig.3 Sketch of computation grid
模型輸出的時間為3 s,間隔步長為0.01 s,共300個時間步,流場變量為3個,分別為流體流動的流速、渦旋以及壓力,按照8∶2的比例將數據集劃分成訓練集和測試集。
在實驗中,采用Python語言編寫代碼,使用Pytorch深度學習框架實現,用前200個時間步長的流場變量數據分別預測了未來1、50、100個時間步長的流場變量。
本文中主要涉及的超參數包括批數據大小、衰減率、學習率和迭代次數。網絡設置的批數據大小為16,衰減率為0.001,學習率為0.01,迭代次數為2 000輪,圖卷積為1層,隱藏維度為32,輸出維度16,GRU為2層,隱藏層單元數為64,選擇MSE loss作為損失函數,Adam為優化器,ReLU函數為激活函數。所有實驗均在具有16 GB RAM的單個NVIDIA 2080Ti GPU上進行。
為了驗證圖卷積循環網絡的預測性能,選取平均絕對百分比誤差(mean absolute percentage error, MAPE)和平均絕對誤差(mean absolute error, MAE)作為評價本文模型預測精度的指標。MAPE通過評價預測值和真實值的偏離程度,從而評價模型的精度。MAE通過平均所有預測值與真實值的偏差的絕對值,避免誤差相互抵消,從而評價模型的精度。MAPE和MAE的計算公式為

(11)

(12)
式中:N為評價模型的樣本數量;yi為第i個樣本的真實值;ypred為第i個樣本的預測值。
將COMSOL軟件仿真的數據作為真實樣本,將圖卷積循環網絡預測的1、50、100個時間步長的流體流動流速、渦旋以及壓力等流場變量數據進行可視化對比展示,驗證預測模型的準確性,對比結果如圖4~圖6所示。

圖4 速度預測結果對比Fig.4 Comparison of speed prediction results

圖5 渦旋預測結果對比Fig.5 Comparison of vortex prediction results

圖6 壓力預測結果對比Fig.6 Comparison of pressure prediction results
圖4~圖6中,將真實樣本與圖卷積循環網絡對流場變量預測結果進行比較,可見圖卷積循環網絡預測效果較為準確,隨著預測時間的增加,部分小尺度結構的偏差逐漸增大,但總體獲得了較好的預測結果。從圖4~圖6中可以看出,網絡捕捉到三個流體特征的絕大部分規律,較為準確地預測出未來時刻三個流場變量特征。從預測的未來不同時刻的結果來看,預測1個時間步τ的預測結果最好,50個時間步的預測效果較為準確,100個時間步的預測結果可以觀察到等值線的抖動,這是由于預測結果與真實樣本之間的預測誤差逐步累積,從而與真實樣本出現一定的偏差,導致預測結果出現誤差,并隨著預測時間的增加,流場變量的預測結果出現變形。從圖4~圖6中還可以看出,圖卷積循環網絡能夠較好地預測流體流動的不同流場變量,捕捉流體流動的特征,經可視化后,較好地還原了流線及渦的形態,符合流體運動物理規律。以上實驗表明,圖卷積循環網絡具有模擬復雜流體流動的潛力。
表1給出了本模型在測試集上預測1、50、100個時間步的流場變量預測的精度。

表1 不同時間步長的預測精度
從表1中可見,對于MAPE,三個流場變量的預測誤差都隨著預測時間步的增加而增大,隨著預測時間步的增加,誤差逐步累積;從數值上看,預測1個時間步的MAPE最小,預測50個時間步的MAPE也較小,預測100個時間步的MAPE最大,三個預測時間步的MAPE都在15%以下,說明預測的精度較高。對于MAE,三個流場變量的預測誤差同樣隨著預測時間步的增加而增大,但不同流場變量的MAE不同,這是由于不同流場變量的預測數值范圍不同,所以導致不同流場變量的MAE差別較大。總體上看,三個流場變量的預測誤差都較小,具有一定的模型精度。在定量對比中可知,本文模型預測結果誤差較小,說明本文的預測方法效果良好,能夠較好的預測未來時刻的流場變量。
在計算耗時方面,本文中統計了CFD仿真與圖卷積循環網絡預測第1、50和100時間步的平均時間消耗,如表2所示。結果表明,網絡訓練完成后,相比于CFD數值模擬,網絡預測流體流場變量的計算時間大大減少,縮短了5倍以上,大大降低了計算時間成本,縮短計算周期,可實時預測未來時刻的流體流場變量。

表2 仿真時間消耗
基于圖卷積循環網絡對非定常周期性流體流動狀態進行預測,通過神經網絡的訓練避免求解復雜物理方程,實現流體流場變量的快速預測。通過分析歷史數據,該模型能夠實現流體流動狀態的實時預測,預測結果表明,在較低預測誤差下預測時間步可達到100。針對圓柱繞流非定常周期性流動問題,通過模擬不同流速條件、不同圓柱位置條件等情況數據,提高圖卷積循環網絡的泛化性能,使其學習并擬合流體流動規律,在面對新的輸入條件時也能預測出較為準確的流場變量,避免求解復雜的物理方程。相比于CFD仿真模擬,本文預測模型計算耗時較短,具有明顯的優勢。在數據集的選取方面,本文中選取的數據集具有一定局限性,只針對了圓柱繞流問題進行了討論,沒有討論其他非定常流場的情況,未來將對其他非定常流場進行研究,并將二維流場擴展到三維流場。