張 洋,秦文瑾,李 慶,董 雪*
(1. 上海交通大學中英國際低碳學院,上海 201306;2. 上海理工大學機械工程學院,上海 200093)
在航空[1]、醫療、工業燃燒等研究領域中,流動[2]起著重要的作用。Duraisamy等[3]指出湍流建模數值模擬發展的過程中,機器學習提供了有效的策略來構建大型數據集和目標變量之間的映射,機器學習可以作為“黑盒子”來與現有的模型進行結合以提供后驗校正。
現有的深度學習模型往往采用模擬數據對神經網絡進行有監督訓練,然而實際工程應用中往往難以獲得流場和壓力場等信息作為模型監督[4]。Navier-Stokes方程組(簡稱N-S方程組)描述了流體的濃度、流速、壓力、特征長度、動力粘度等物理量之間的關系,對于欠約束的物理場景,可以借力于N-S方程組,對神經網絡進行約束。
但目前基于物理約束的研究多數局限在多層感知器(Muti-Layer Perception,MLP)或者使用二維卷積神經網絡(Convolution Neural Network, CNN)研究穩態問題。Raissi等人[5]提出了Hidden fluid mechanics(HFM)的概念,借助N-S方程組,通過MLP的反饋特性,實現了壓力場和速度場的預測。但在約束方程中雷諾數和佩克萊數在網絡中被限制為一個常數,而實際上這兩個無量綱數為時空變量,因此在對應參數變化大的場景中將表現出較差的適用性。另外MLP的計算效率較低,譬如隨著流場區域的變大,MLP的訓練參數將會急劇增大,且MLP會丟失圖像(二維物理場)的空間特征。對于使用傳統的2D CNN的方法,由于湍流流動中在時間維度上也需要獲得連續性信息,如果僅能在圖像的長和寬兩個維度獲取梯度信息,不足以將含有時序信息的微分方程約束嵌入神經網絡中。
而有時序的流場信息可以看作是三通道輸入數據,對三通道輸入數據使用三維卷積核在三個方向進行卷積可以有效獲取特征圖對時間的導數。綜上,此本研究將開發一種基于三維卷積神經網絡的弱監督學習模型,并對DNS算例中的流場散點數據進行均勻網格化、無量綱化處理,以將其轉換為可進行卷積操作的數據集。該模型將以N-S方程組為物理約束,對神經網絡進行構建,以實現對流場從濃度場到速度、壓力場的映射。
計算流體力學常用的控制方程有傳質方程、動量守恒方程、連續性方程,對這些控制方程進行無量綱化可以簡化問題,并減少所需考慮的參數的數量,并使得神經網絡在學習過程中聚焦于特征長度、特征速度等無量綱量,從而減少神經網絡對具體案例數據的依賴,有利于增強神經網絡的泛化能力。
借由雷諾運輸方程,傳質方程可以寫成如下的無量綱形式
ct+ucx+vcy+wcz=Pe-1(cxx+cyy+czz)
(1)
同樣借由無量綱化的動量守恒方程和連續性方程,可以得到:
ut+uux+vuy+wuz=-px+Re-1(uxx+uyy+uzz)
vt+uvx+vvy+wvz=-py+Re-1(vxx+vyy+vzz)
wt+uwx+vwy+wwz=-pz+Re-1(wxx+wyy+wzz)
ux+vy+wz=0
(2)
Re和Pe分別代表雷諾數和佩克萊數,分別由UL/v和UL/k定義,其中U和L分別是特征速度和特征長度,v和k分別是動力粘度和質量擴散系數。可以通過神經網絡和建立殘差標準完成如下映射
(t,x,y,z)→(c,u,v,w,p)
(3)
其中殘差標準的一個參考形式如下
e1=ct+ucx+vcy+wcz-Pe-1(cxx+cyy+czz)
e2=ut+uux+vuy+wuz+px-Re-1(uxx+uyy+uzz)
e3=vt+uvx+vvy+wvz+py-Re-1(vxx+vyy+vzz)
e4=wt+uwx+vwy+wwz+pz-Re-1(wxx+wyy+wzz)
e5=ux+vy+wz
(4)
上述殘差中所需要的偏導數可以通過神經網絡中自微分的鏈式法則或差分形式的固定卷積核進行求取。故對于映射目標的c,u,v,w,p,可以以最小化上述殘差e1,e2,e3,e4,e5的均方差為目標進行網絡訓練。
本研究的實驗數據,二維圓柱繞流算例的設計思路來自Raissi[5]的HFM文獻,本研究采用OpenFOAM對流場數據進行復現。流場在x方向取切片[-2.5,7.5],y方向取切片[-2.5,2.5],空間分辨率為0.05m,時間分辨率為0.08s。圓柱圓心與坐標系原點重合,半徑為0.5m。雷諾數取100。并假設無量綱自由流速度為U=1,運動粘度ν=0.01,系統表現出周期性穩態行為,其特征在于尾流中的不對稱渦旋脫落模式。為了使用數值求解器生成數據,本研究在圓柱壁上使用零滑移和零濃度邊界條件。對于佩克萊數,本研究設定為100,因為對于以煙霧為主體的空氣流動[6]而言,雷諾數和佩克萊數是大體相等的。
對于實驗數據的預處理主要包括如下兩個部分:
1)無量綱化
基于數據無量綱化的要求,對OpenFOAM生成的數據需進行無量綱化處理,特征速度取入口處速度,特征長度取單位1,特征密度取實驗溫度下流體平均密度。參考如下公式進行無量綱化

(5)
2)均勻網格化和補零
對于傳統的計算流體力學研究而言,生成的流場數據通常是散點數據。研究中常常需要根據感興趣區域對數據的空間分辨率做調整,這意味著它不能直接被應用于卷積神經網絡里,因為卷積神經網絡的輸入數據一般要求是均勻網格化的圖片數據。所以對于已經獲取的流場散點數據,需要對其進行均勻網格化處理。原始數據由直角坐標系下的低分辨率數據和圓柱邊界附近極坐標系的高分辨率數據組成,為了使數據能直接輸入到卷積神經網絡中進行訓練,對極坐標系下的加密數據進行去除。同時因為原始數據中并沒有圓柱內部的流場分布,為了形成的完整的網格化數據,需要對圓柱內部進行補零操作。
式(4)中多次用到了特征圖對時間和長寬三個維度的偏導數,由于2D CNN無法直接獲得時間維度上的導數,故本研究選用三維卷積神經網絡進行訓練。本研究所設計的3D CNN神經網絡結構如圖1所示,分為編碼和解碼過程。編碼過程使用多幀連續的濃度場信息作為輸入,并采用50%重疊的采樣進行DataLoader定義。模型輸入為一個三維張量,可以表示為si,j,k=D(i,j,k),其中i=201,j=101,k=8。本研究的數據集包括201幀圖像,故總數據量分割后共有50個樣本。卷積過程采用三維卷積。編碼特征向量hvec(s)可以表示為式(6)[7]

圖1 3DCNN網絡示意圖
hvec(s)=ConvNN(s)
(6)
其中ConvNN(s)表示使用多個3D卷積層和最后的全連接層實現的從輸入si,j,k到特征圖的映射。每個卷積層后都會采用BatchNorm實現正則化,隨后以LeakyReLU作為激活函數。
解碼過程則是通過反卷積操作來構建多個堆疊的解碼層。因為輸出分別是U,V,P三個獨立的場,所以采用三個獨立的解碼器來實現從特征圖到預測分布的映射。解碼過程可以表示為式(7)

(7)

對于CNN的求導,本網絡中采用差分形式的卷積核對網絡預測的U,V,P通過固定卷積進行導數求取[9]。
對于中心點,采用四階中心差分進行導數求取,如式(8)所示。

(8)
對于邊界點,采用三階單邊迎風/逆風差分公式進行求取,如式(9),所示。

(9)
網絡的損失函數將由多個部分組成,分別是真值監督、邊界條件約束、物理邊界約束、物理方程約束。各個部分均采用均方誤差函數(Mean Squared Error, MSE)作為評估標準,MSE的原理如式(10)所示

(10)
其中真值監督使用U的實驗模擬數據作為監督,邊界條件使用圖像四條邊框的真值作為監督,邊框厚度為10個像素。物理邊界約束使用圓柱邊界厚度為10個像素的真值作為約束,物理方程約束采用式(4)的殘差作為約束,故損失函數可以用式(11)進行表示


(11)
網絡訓練后的權重將可以從輸入的多幀濃度場計算出對應幀的速度場和壓力場。
詞語的文化義多是詞義、語素義、語境義演變的結果,反映民族的認知,“柳”文化內涵豐富,與中華民族的生理——心理認知、修辭認知、轉喻、對自然的崇拜和外來文化的影響密切相關。
本文中深度學習網絡的訓練環境為CentOS 7.4,使用Pytorch框架進行訓練;算力為4塊NVIDIA GeForce GTX 2080Ti GPU顯卡。本文中網絡訓練使用標準的Adam訓練模型,基礎學習率為1e-5,批量大小(Batch Size)設置為16,訓練20000個epoch。
對模型效果的評估采用均方誤差(MSE),結構相似性(SSIM),峰值信噪比(PSNR)三種方案對結果進行評估,其評估方式分別如下所示。
(12)

(13)
本文提出的3D CNN網絡總參數量為159,242,310,參數內存為607.46MB。如圖2所示,網絡在10000個epoch后已經收斂。時間效率上,MLP算法訓練此算例所需時間為40h,而本文算法訓練此算例所需時間為24h,效率提升了40%。

圖2 網絡訓練的收斂曲線
三維卷積神經網絡預測結果的準確率分析如表1所示。模型的MSE誤差分布上,U場因為是強監督,最接近真實值,V場和P場則次之。SSIM的結果分布也符合此規律,但是SSIM的結果卻明顯比MSE優異,這是因為MSE對于局部較大噪聲所產生的誤差懲罰很為嚴重。PSNR的結果也說明模型的整體預測結果良好,同時PSNR在P場預測結果的優異性,說明了在P場的預測結果也具有說服力和有效性。由此可見,本文的預測結果誤差較小,這是因為3D CNN能夠很好的利用原始數據在時間維度上的分布信息。
表1 三維卷積神經網絡預測結果的準確率分析(濃度場輸入,U場強監督)

輸出場MSESSIMPSNRU0.0050.97771.7V0.0090.81368.7P0.0060.69270.7
由于二維圓柱繞流時間上呈周期性,將預測結果的誤差在時間維度的分布進行描述有利于驗證時間分布的連續性和周期性。本算例的時間分辨率為0.08s,預測的結果如圖3所示。

圖3 預測U,V,P場的MSE隨時間分布情況(輸入為濃度場,強監督為U場)
結果顯示,預測的結果在U,V,P場的分布均具有周期性,周期約為5s。權鉦杰[10]指出以MSE為損失函數的預測方法對復雜樣本中存在的噪聲無法進行有效的剔除,預測結果周期性的性能下降也可能是由于原始數據周期性的噪聲。
對于二維圓柱繞流算例,研究更關注的是圓柱附近的流動情況,對預測結果進行空間分割將有利于評測結果的準確性在空間上的分布。算例中的圓柱位于(0,0)位置,半徑為0.5m。
在X軸方向上的誤差分布中,如圖4所示,速度場和壓力場在圓柱附近和右側都出現了較高的預測誤差,這與前文中可視化的結果是一致的。其中圓柱附近的誤差主要是由于出現了速度場和壓力場的邊界驟變,在神經網絡的學習中,更復雜的場景需要更高分辨率的數據集。而右側邊界中對于圓柱繞流算例的研究并不重要,對于結果的整體影響可以忽略。且可以明顯看出造成V場MSE結果較差的原因就在于V場右側的誤差突變。

圖4 預測結果MSE沿X軸方向的分布情況 (輸入為濃度場,強監督為U場)
因為該算例的流體主要流動方向為X方向,所以其在Y軸方向上的分布上具有一定的對稱性,如圖5所示。U場在圓柱邊界的誤差會更大,這是由于流動在此處此方向上變化最劇烈。

圖5 預測結果MSE沿Y軸方向的分布情況 (輸入為濃度場,強監督為U場)
對于流動的建模一直是流體力學中的重要部分,相比計算流體力學,結合機器學習方法的數值建模方法具有更強的時間效率。本文針對現有神經網絡建模模型所存在的不足,提出了嵌入物理約束的三維卷積神經網絡結構。
通過本文的研究和分析可以得出如下主要結論:
1)現有的神經網絡模型在湍流預測中依然存在較大的不足和局限性,主要體現在基于MLP的網絡結構計算效率的不足和以基于2D CNN的網絡結構無法很好的利用時序信息。
2)本文所開發的3D CNN,能夠在利用時序信息的同時發揮CNN在神經網絡學習中的優勢。其在二維圓柱繞流算例上的結果在MSE,SSIM和PSNR三個獨立指標下呈現的準確性和效率說明了該理論的可行性。3D CNN的訓練時間效率相較于MLP提升了40%,是更為高效的算法。
未來,本文將研究如何提高模型的泛化能力,提高邊界預測的準確性。