羅 良,鄧 梨,錢 坤,金佳鴻
(湖南理工學(xué)院 物理與電子科學(xué)學(xué)院,湖南 岳陽 414006)
機(jī)器學(xué)習(xí)是人工智能的一個重要分支,它的目標(biāo)是通過預(yù)處理數(shù)據(jù)、構(gòu)建模型、評估優(yōu)化等步驟,讓計算機(jī)從數(shù)據(jù)中學(xué)習(xí)出有效信息并做出預(yù)測或決策.機(jī)器學(xué)習(xí)技術(shù)在流體動力學(xué)中的應(yīng)用涵蓋了許多方面,如在流場預(yù)測中,通過對歷史流場數(shù)據(jù)進(jìn)行學(xué)習(xí),機(jī)器學(xué)習(xí)算法可以預(yù)測未來的流場狀態(tài),該技術(shù)被應(yīng)用于氣象預(yù)報、航空航天等領(lǐng)域[1,2];在流場控制中,機(jī)器學(xué)習(xí)可用于設(shè)計流場控制策略,通過學(xué)習(xí)控制器的輸入輸出關(guān)系,優(yōu)化控制器參數(shù),達(dá)到更好的控制效果[3,4];在流動特征提取中,機(jī)器學(xué)習(xí)可自動從流場數(shù)據(jù)中提取有用的特征,例如渦旋、湍流等,并將這些特征用于流場分析、流動控制等[5,6].傳統(tǒng)的流體力學(xué)實(shí)驗通常需要昂貴的設(shè)備和大量的時間、物力和人力資源,成本高昂.采用機(jī)器學(xué)習(xí)方法預(yù)測流場已成為當(dāng)前機(jī)器學(xué)習(xí)在流體動力學(xué)領(lǐng)域的重要研究方向之一.基于幾何結(jié)構(gòu)直接預(yù)測流場的想法很有吸引力,但其準(zhǔn)確度或應(yīng)用范圍存在局限性,這是因為幾何結(jié)構(gòu)不能完全反映流體流動的復(fù)雜行為[7,8].基于流場前期數(shù)據(jù)預(yù)測流場的準(zhǔn)確度已有所提高[9],但由于需要大量的前期數(shù)據(jù)和計算資源,成本也相應(yīng)地提升不少.本文提出一種流場預(yù)測方法,即采用有限隨機(jī)行走獲得數(shù)據(jù)矩陣作為輸入來預(yù)測流場.相較于幾何結(jié)構(gòu),隨機(jī)行走數(shù)據(jù)矩陣能夠更多地反映流體的流動行為,同時不需要前期流場數(shù)據(jù),以較小的計算成本即可獲得較高流場預(yù)測準(zhǔn)確度.該方法將為機(jī)器學(xué)習(xí)在流體動力學(xué)中的應(yīng)用提供更加高效、低成本的解決方案.
研究對象為表示成100×100矩陣的二維多孔介質(zhì),其內(nèi)部有十個矩形障礙物,障礙物的大小和位置均在一定范圍內(nèi)隨機(jī)取值(圖1).分別采用有限隨機(jī)行走算法和格子玻爾茲曼方法(LBM)[10]獲得訓(xùn)練集的輸入部分和輸出部分.根據(jù)有限隨機(jī)行走算法[11],粒子從介質(zhì)上方孔隙(圖1 中白色部分,用1 表示)開始出發(fā),向下方邊緣移動.如果粒子前進(jìn)方向不是孔隙,而是障礙物(圖1 中橙色部分,用0 表示),則隨機(jī)選擇某個水平方向作為下一步,然后再試圖往下方邊緣移動,如此反復(fù),不走回頭路,直到粒子移動到下方邊緣.粒子的路徑被記錄為流線.在不存在障礙物的情況下,所有流線均為直線,所有位置均只被一條流線經(jīng)過;在有障礙物情況下,部分地方?jīng)]有流線經(jīng)過,部分地方有多條流線經(jīng)過.如圖2 所示,深色區(qū)域即代表有多條流線經(jīng)過,顏色越深,表示經(jīng)過的流線越多.

圖1 二維多孔介質(zhì)(深色為障礙物)

圖2 有限隨機(jī)行走矩陣數(shù)據(jù)(輸入)
格子玻爾茲曼算法(LBM)是一種介觀尺度計算流體動力學(xué)方法,通過求解玻爾茲曼方程來模擬流體的流動過程.LBM 算法廣泛應(yīng)用于各種工程和科學(xué)領(lǐng)域,其具有易于并行計算和處理復(fù)雜幾何邊界的優(yōu)勢.針對圖1 所示二維多孔介質(zhì),采用D2Q9 模型以及壓力進(jìn)出口邊界條件和反彈邊界條件,計算出流場.計算結(jié)果如圖3 所示,顏色越深代表流動速率越大.

圖3 LBM 計算所得流場(輸出)
一共產(chǎn)生了5000 組二維多孔介質(zhì)的有限隨機(jī)行走數(shù)據(jù)以及對應(yīng)流場分布作為訓(xùn)練集,另外產(chǎn)生100組數(shù)據(jù)作為驗證集.
為減少計算量,加快計算速度,將100×100的流場數(shù)據(jù)預(yù)處理為20×20 的流場矩陣(圖4),單個二維多孔介質(zhì)的有限隨機(jī)行走矩陣數(shù)據(jù)分別對應(yīng)20×20 流場矩陣中的400 個數(shù)據(jù)點(diǎn).使用大小為5000 的訓(xùn)練集,在訓(xùn)練過程中經(jīng)過多種方法對比,最終選定隨機(jī)森林方法開展訓(xùn)練,訓(xùn)練結(jié)束后獲得400 個預(yù)測函數(shù),每個函數(shù)分別用于預(yù)測20×20 流場矩陣中的一個速率值.

圖4 預(yù)處理后的流場
根據(jù)訓(xùn)練獲得的400 個預(yù)測函數(shù),采用含100 組數(shù)據(jù)的驗證集開展驗證.圖5 展示了隨機(jī)挑選的第70 組(上)和第80 組(下)數(shù)據(jù)中預(yù)測流場與LBM 算法計算所得流場的對比圖.圖中左側(cè)為預(yù)測流場,右側(cè)為LBM 算法流場.從圖中可以看出預(yù)測結(jié)果與LBM 算法計算結(jié)果高度吻合.為進(jìn)一步證明使用有限隨機(jī)行走算法獲得的矩陣可以用于準(zhǔn)確預(yù)測流場,從而替代復(fù)雜的流體動力學(xué)計算,需要分析全部100 組數(shù)據(jù)的驗證集驗證結(jié)果.在分析預(yù)測值與結(jié)果之間的相對誤差時,因為障礙物所在處的速率值為0,導(dǎo)致不便分析每個點(diǎn)的速率相對誤差,因此定義了全局相對誤差式:

圖5 預(yù)測結(jié)果(左)與實(shí)際結(jié)果(右)對比
其中Pij為預(yù)測結(jié)果中第i行第j列速率值,Tij為驗證集結(jié)果中第i行第j列速率值,Tij均為非負(fù)數(shù).該全局相對誤差反映了預(yù)測結(jié)果與正確值的整體偏離情況.
圖6 展示了包含100 組數(shù)據(jù)的驗證集驗證結(jié)果.從圖6 中可以發(fā)現(xiàn),100 個驗證集相對誤差均小于10%,其中74%的驗證集數(shù)據(jù)相對誤差小于4%,99%的驗證集數(shù)據(jù)相對誤差小于7.5%.驗證結(jié)果充分證明了訓(xùn)練所得預(yù)測函數(shù)的預(yù)測準(zhǔn)確性,也證明了利用有限隨機(jī)行走算法獲得數(shù)據(jù)矩陣來預(yù)測流場數(shù)據(jù)的可行性.

圖6 驗證集預(yù)測結(jié)果相對誤差
此項研究中所有訓(xùn)練集和驗證集的運(yùn)算均在個人電腦(主要配置: AMD 5900X 處理器、64G 內(nèi)存、英偉達(dá)P6000 顯卡)上完成;使用5000 個數(shù)據(jù)集訓(xùn)練400 個預(yù)測函數(shù)總時長約為800 min;采用400 個預(yù)測函數(shù)預(yù)測20×20 流場所需時間約為4.8 s;采用有限隨機(jī)行走算法產(chǎn)生100×100數(shù)據(jù)矩陣的時間不到1 s.綜上所述,本研究所提出的方法具有高效性和高準(zhǔn)確性,為機(jī)器學(xué)習(xí)在多孔介質(zhì)流場預(yù)測中的應(yīng)用提供了新思路.
基于機(jī)器學(xué)習(xí)結(jié)合有限隨機(jī)行走算法預(yù)測二維多孔介質(zhì)流場是一個結(jié)合人工智能和多孔介質(zhì)流動的交叉學(xué)科研究領(lǐng)域,其基本思想是根據(jù)高效的有限隨機(jī)行走算法獲得多孔介質(zhì)流場基礎(chǔ)數(shù)據(jù),然后通過訓(xùn)練好的預(yù)測函數(shù)預(yù)測真實(shí)流場.訓(xùn)練數(shù)據(jù)集中的輸入和輸出分別由有限隨機(jī)行走算法和LBM 算法獲得,并利用GPU 開展訓(xùn)練.本方法具有成本低、效率高的特點(diǎn),有效解決了直接通過幾何結(jié)構(gòu)預(yù)測流場不夠準(zhǔn)確以及通過前期流場數(shù)據(jù)預(yù)測后期流場算力和時間成本均偏高的問題,為機(jī)器學(xué)習(xí)在流體動力學(xué)流場預(yù)測方面的應(yīng)用提供了新思路和新方法.后續(xù)研究將圍繞進(jìn)一步提高預(yù)測準(zhǔn)確性和預(yù)測速度開展.
湖南理工學(xué)院學(xué)報(自然科學(xué)版)2023年3期