梁仍康,張 偉,楊思帆,黃 剛,李 朗
(1.西南科技大學 土木工程與建筑學院,綿陽 621010;2.中國空氣動力研究與發(fā)展中心 超高速空氣動力研究所,綿陽 621000;3.空天飛行空氣動力科學與技術全國重點實驗室,綿陽 621000)
隨著建筑技術的進步,眾多建筑結構向著長細化、高聳化、輕質化等方向發(fā)展,這使得風荷載對建筑結構的影響增大。風荷載逐步成為高層建筑結構安全性、舒適性和經濟性等需要考慮的主要因素[1],甚至是影響高層建筑物安全的決定性因素。因此高層建筑的風荷載及其風振響應研究成為結構風工程中的重點,許多學者采用CFD 數(shù)值模擬或風洞試驗等方法對其開展了大量研究[2-5]。
精細化高分辨率的風場數(shù)據(jù)是結構設計所必需的。在工業(yè)中,人們期望以更少的代價快速獲取高分辨率(high resolution,HR)流場數(shù)據(jù)。但在試驗方面,精細化的測量點必然導致試驗成本顯著增加;在計算方面,網格細化是獲取高分辨率數(shù)據(jù)的直接方法,但數(shù)值模擬的計算成本可能會呈指數(shù)增長。開發(fā)一種有效的方法來獲取HR 數(shù)據(jù)變得非常重要。深度學習具有計算過程簡單、速度快的優(yōu)點,得益于當前豐富的試驗和計算數(shù)據(jù),利用深度學習方法來快速實現(xiàn)超分辨率重構工作變得可能。
超分辨率(super-resolution,SR)技術[6]是指根據(jù)低分辨率圖像重構出相應的高分辨率圖像。傳統(tǒng)圖像SR 算法可分為基于插值[7]和重構[8]的方法,在基于插值的超分辨率重構方法中,雙三次插值算法(Bicubic)是一種高精度的重構方法,被廣泛應用于圖像和數(shù)據(jù)的處理中。但是傳統(tǒng)方法會存在一些不足,如會造成邊緣模糊、無法處理復雜結構的圖像等。為了解決傳統(tǒng)圖像SR 方法的不足,出現(xiàn)了采用深度學習[9-10]進行超分辨率分析的研究,并在圖像處理的任務中取得了顯著效果。Dong 等[10-11]提出的超分辨率卷積神經網絡(super-resolution convolutional neural network,SRCNN)是基于深度學習的超分辨率分析的先驅。近年來,基于深度學習的超分辨率重構方法被拓展到流體力學領域。2019 年,F(xiàn)ukami 等[12-13]率先將基于卷積神經網絡(convolutional neural network,CNN)的超分辨率重構模型應用于二維圓柱尾跡和二維衰減各向同性湍流,結果顯示出該模型從低分辨率流場數(shù)據(jù)中重構流場的能力顯著。Liu 等[14]針對均勻各向同性湍流和槽道流的超分辨率重構問題,提出了靜態(tài)卷積神經網絡(static convolutional neural network,SCNN)和多時間路徑卷積神經網絡(multiple temporal paths convolutional neural network,MTPC)兩種深度學習模型。Kim[15]提出了一種無監(jiān)督學習模型,該模型采用循環(huán)一致生成對抗網絡(cycle-consistent generative adversarial network,CycleGAN),可以用未配對湍流數(shù)據(jù)進行訓練,進行超分辨率重構。
綜上,基于深度學習的超分辨率重構方法在提高試驗或數(shù)值模擬數(shù)據(jù)質量方面已顯示出巨大的潛能[16],但以往工作主要針對幾何構型相對簡單的模型流動,如圓柱繞流、槽道湍流等,針對建筑結構復雜風場的超分辨率重構尚未見系統(tǒng)研究報道。而高雷諾數(shù)下具有多尺度湍流特征的建筑結構繞流流場的復雜性,也為深度學習模型的構建帶來了新的挑戰(zhàn)。基于此,本文將基于深度學習的超分辨率重構方法應用到CAARC (Commonwealth Advisory Aeronautical Research Council)標準建筑模型[17]繞流流場,構建其超分辨率重構的深度學習模型,并通過算例分析采用該方法對建筑結構繞流欠分辨率流場信息重構高分辨流場的可行性和有效性。
深度學習的任務通常是通過數(shù)據(jù)學習來建立映射關系y=F(x,w),其中y是輸出,x是輸入,w是權重參數(shù),F(xiàn)是非線性映射。對于超分辨率任務來說,x對應低分辨率數(shù)據(jù),y對應高分辨率數(shù)據(jù),權重w是通過梯度下降算法求解優(yōu)化來確定的。通過深度學習數(shù)據(jù)庫得到w后,即可建立模型F。采用深度學習方法實現(xiàn)流場超分辨率重構的主要流程如圖1 所示。其中,3 表示3 個通道數(shù),32×32、64×64 分別為輸入和輸出圖片的像素。
為了準備輸入數(shù)據(jù),采用下采樣的方式來獲得低分辨率數(shù)據(jù),下采樣主要通過最大池化或平均池化來實現(xiàn),對應公式為:
其中,LR 和HR 分別表示低分辨率和高分辨率,i和j表示x、y方向的點,池化窗口大小為M×M,P取1 或∞分別對應平均池化和最大池化,“p,s”為“i,j”對應的高分辨率圖像區(qū)域的空間點編號。本文中,輸入層的低分辨數(shù)據(jù)通過平均池化方法對原始高分辨率數(shù)據(jù)(Lh×Lw×C,Lh、Lw和C分別為數(shù)據(jù)高度、數(shù)據(jù)寬度和數(shù)據(jù)通道數(shù))進行下采樣獲得,下采樣比為M,則下采樣后的低分辨率數(shù)據(jù)的尺寸為(Lh/M)×(Lw/M)×C;池化使得原先Lh×Lw(本文為64×64)像素數(shù)據(jù)變成 (Lh/M)×(Lw/M) 像素。本文的M值有3 個,分別為2、4、8,對應的輸入分辨率分別為32×32、16×16 和8×8。
通過CNN 來建立非線性映射F,卷積神經網絡內前后兩層的數(shù)據(jù)傳遞關系可以表示為:
達到最后一層時就得到輸出結果。以三層CNN(lmax=3)為例,如圖2 所示,h表示濾波器,φ表示激活函數(shù),l表示卷積神經網絡的某一層,m對應濾波器的個數(shù),L(Lh=Lw) 是每個方向上的像素數(shù),K表示構成數(shù)據(jù)的圖像數(shù)。對流場進行超分辨率重構時,選擇速度分量、壓力系數(shù)作為輸入,對應K可以選擇1、2、3、4 等值。本文使用雙曲正切Tanh 作為激活函數(shù),其可以有效地在深度學習過程中穩(wěn)定權重更新;模型預測值與標準實際值的平均絕對誤差作為損失函數(shù)。
圖2 卷積神經網絡架構Fig.2 Architecture of convolutional neural network
原始的卷積神經網絡由5 個不同大小的卷積核組成。輸入的低分辨率圖像經過卷積層進行特征提取,池化層降低了每個特征圖的維度,但是保留了最重要的信息,全連接層卷積、池化等層計算得到的特征空間映射到樣本標記空間,最終輸出超分辨重構的圖像。
為了實現(xiàn)更優(yōu)的流場超分辨率重構效果,本文對原始的CNN 模型加以改進,改進后為混合下采樣跳躍連接多尺度(Multi-scale CNN)模型。首先,引入壓縮和跳躍連接來擴展CNN 模型。在超分辨率分析中,數(shù)據(jù)壓縮提高了對數(shù)據(jù)元素平移和旋轉的魯棒性。使用跳躍連接幫助加速權重收斂增強了CNN 預測性能,使得CNN 不受網絡深度的制約。其次,考慮多尺度模型,該模型能有效捕捉數(shù)據(jù)中的多尺度結構。該多尺度模型是由多個CNN 濾波器組成,這些濾波器具有不同的長度,以跨越一系列尺度。本文使用的超分辨率方法結合了跳躍連接和多尺度兩種模型,方法的完整示意圖如圖2 所示,包括:1)1 個下采樣和上采樣路線,其目的為增加魯棒性;2)3 個不同卷積核的卷積層,不同卷積核用來捕捉流場中不同湍流尺度的結構;3)跳躍連接,其目的是更好地訓練深層網絡,并確保網絡能在添加更多層時得到有效訓練。
CAARC 高層建筑標準模型是1969 年提出的通用風工程標準模型,其幾何尺寸為30.5 m(寬度B)×45.7 m(長度D)× 182.5 m(高度H)。本文基于Elshaer 等[18]的文獻,將CAARC 建筑模型進行1∶400的縮比處理。建筑模型繞流流場計算域、局部網格劃分以及兩種不同來流風向角工況如圖3 所示,其三維計算域為 [-4.05,4.05]×[-3.195,10.4075]×[0,2.2825]。流動方向是y方向,梯度風速度入口條件如下:
圖3 計算流域、網格劃分以及來流風向角工況示意圖Fig.3 Schematic of computational setup of CAARC model and two wind angles of attack
其中,Uavref=10 m/s,zref=0.45625 m,α=0.17,z是高度。采用隨機生成方法,并通過使用傅里葉諧波合成無散速度場來生成來流速度脈動量。入口速度及次網格濾波長度見圖4。計算域側面及頂面為對稱面,出口邊界為壓力出口,建筑表面和下邊界是靜止無滑移壁面。采用分塊結構網格對計算域進行網格劃分,建筑表面第一層邊界層高度是2×10-5m,網格總數(shù)約150 萬。
圖4 湍流特性Fig.4 Characteristic of turbulent flow
計算采用基于壓力的瞬態(tài)隱式算法求解器,采用SIMPLEC 算法[19]實現(xiàn)壓力與速度的解耦。方程中壓力項的離散采用標準格式,動量、湍動能的離散均采用二階迎風格式。采用WMLES S-Omega 亞格子模型的大渦模擬計算湍流流場。各變量的計算收斂誤差均設定為1×10-5,時間步長為0.005 s。
為驗證CFD 結果的可靠性,圖5 給出了來流為0°風向角(工況一)時,數(shù)值計算的CAARC 建筑模型2/3 高度處的壓力系數(shù)平均值及均方根值與風洞試驗結果[18]的對比,其中橫坐標表示長度與建筑寬度的比值。壓力系數(shù)公式為:
圖5 當前研究與實驗的壓力系數(shù)對比Fig.5 Comparison of pressure coefficients between current simulation and experiment
其中,vh=10 m/s 是建筑物高度的參考速度,p為靜壓,p0為參考壓強,ρ是空氣密度。由圖5 可見,CFD 計算結果與試驗結果基本吻合。
同時,對比了建筑的順風向及橫風向力系數(shù)(圖6),其定義分別為:
圖6 順風向及橫風向力系數(shù)隨時間的變化規(guī)律Fig.6 Evolution of along-wind force and cross-wind force coefficient in function of time
其中,F(xiàn)y、Fx分別表示建筑的順風向及橫風向力。
表1 給出了順風向及橫風向力系數(shù)的平均值和均方根值,結果與Thordal 等[20-22]總結的結果基本吻合。
表1 不同來源的順風向與橫風向力系數(shù)對比Table 1 Comparison of along-wind force and cross-wind force coefficient with different sources
基于工況一的CFD 計算結果,待流場計算相對穩(wěn)定后,每隔0.005 s 輸出一個流場數(shù)據(jù),取120 個數(shù)據(jù)構建數(shù)據(jù)集。120 個樣本選自t=40 s 后的時間段,時間跨度為0.6 s,約4.7 個卡門渦街周期[23]。在進行模型訓練之前,數(shù)據(jù)進行了歸一化處理。隨機取100 個數(shù)據(jù)作為訓練集,20 個數(shù)據(jù)作為測試集;訓練次數(shù)為600 次,卷積層數(shù)共14 層,學習率取0.002 5。
風壓場的數(shù)據(jù)取自建筑模型迎風面、側面和背面的壓力場。為了驗證本文的Multi-scale CNN 模型針對風壓場超分辨率重構的有效性,首先以32 × 32 低分辨率風壓場重構64 × 64 高分辨率風壓場作為驗證。圖7 給出了風壓場訓練誤差和測試誤差隨著訓練步數(shù)的變化,可以看出兩者都隨訓練步數(shù)的增加不斷減少,大約在315 步后接近平穩(wěn),平穩(wěn)后的訓練誤差約為0.22%,測試誤差約為0.48%。由于模型的泛化性能,測試誤差始終比訓練誤差略微偏大。圖8 給出了建筑側面壓力云圖隨訓練步數(shù)增加的變化過程??梢钥闯觯跏驾敵龅膲毫鍪谴植诓灰?guī)則的。當訓練步數(shù)為200 時,訓練結果與CFD 模擬標準結果還有一定差別;隨著訓練步數(shù)繼續(xù)增加,訓練結果與CFD 模擬的標準結果的差距逐漸縮小;訓練步數(shù)為400 時,側面壓力云圖已經接近真實值。
圖7 建筑表面風壓場的超分辨率訓練誤差下降過程Fig.7 Super-resolution learning error of wind pressure field
圖8 建筑側面壓力系數(shù)在不同訓練步數(shù)的結果Fig.8 Pressure coefficients contours on the lateral face as the epoch increases
為進一步驗證本文深度學習模型超分辨率重構壓力場的優(yōu)勢,對不同低分辨率風壓場開展了超分辨率重構,并將不同低分辨率風壓場重構后的結果與原始的CNN 結果以及雙三次插值結果進行了對比。輸入的低分辨率風壓場分辨率分別為8 × 8、16 × 16、32 ×32,重構的風壓場分辨率為64 × 64。
取建筑迎風面2/3 高度(0.304 16 m)處的壓力系數(shù)進行驗證。圖9 給出了不同輸入分辨率時,輸入、輸出和CFD 標準風壓場在2/3 高度處的壓力系數(shù),其中,橫坐標x表示建筑迎風面2/3 高度處取一條線對應的尺寸。可以看出,分辨率為32 × 32 的風壓場重構后的曲線最接近真實值,重構后的值與標準值基本重合;并且輸入的分辨率越低,重構后的誤差也越大。圖10 為某時刻的建筑迎風面2/3 高度處的壓力曲線,對比Multi-scale CNN、CNN、Bicubic三種模型的結果可以看出,Multi-scale CNN 模型重構效果明顯優(yōu)于CNN 和Bicubic;但隨著輸入分辨率越低,三種方法的重構效果均有所降低。
圖9 建筑迎風面2/3 高度處的壓力系數(shù)Fig.9 Pressure coefficient at 2/3 height on the windward face of the building
圖10 不同重構方法重構的建筑迎風面2/3 高度處的壓力系數(shù)Fig.10 Pressure coefficient at 2/3 height on the windward face of building reconstructed by different reconstruction methods
對于不同輸入分辨率,Multi-scale CNN、CNN 和Bicubic 重構的建筑迎風面風壓場整體誤差如表2 所示??梢钥闯?,插值方法的結果誤差較大,而深度學習方法能顯著提高重構精度;改進的Multi-scale CNN 模型重構精度高于原始的CNN 模型。
表2 Multi-scale CNN 與CNN、雙三次插值重構建筑表面風壓場的誤差對比Table 2 Error comparison of Multi-scale CNN,CNN and Bicubic interpolation in reconstruction of wind pressure field on building surface
為了全面評價深度學習模型超分辨率重構的能力,本文對速度場重構效果進行了評估。取120 個xz平面、yz平面、xy平面的x、y、z方向速度場構建數(shù)據(jù)集。圖11、圖12 和圖13 是輸入分辨率為32 ×32 的流場經Multi-scale CNN 模型重構的64 × 64 速度云圖,其中,圖11 是xz平面過建筑側面中心的x方向速度云圖,圖12 是yz平面過建筑迎風面中心的y方向速度云圖,圖13 是xy平面高于地面0.506 25 m(高于建筑物頂面)的z方向速度云圖。由圖11~圖13可以看出,輸入的低分辨率流場經過Multi-scale CNN 模型重構后可以得到精確的流場圖像。為了進一步了解速度重構值的精度,在空間取三條直線(位置如圖14 所示),對比了三條線上速度的輸入值、重構值和標準值,從圖15 上可見三條直線上的速度重構值與標準值基本重合,平均絕對誤差分別約為1.92%、3.81%和1.88%。
圖11 xz 平面x 方向速度云圖Fig.11 Velocity contour of x direction of xz plane
圖12 yz 平面y 方向速度云圖Fig.12 Velocity contour of y direction of yz plane
圖13 xy 平面z 方向速度云圖Fig.13 Velocity contour of z direction of xy plane
圖14 局部直線截取位置示意圖Fig.14 Position of local line
圖15 局部直線上的速度分布曲線圖Fig.15 Curve of velocity distribution on a local line
表3 對比了Multi-scale CNN 模型、CNN 模型和Bicubic 重構對不同低分辨率速度場重構的整體誤差。結果顯示:三個平面的深度學習超分辨率重構都比Bicubic 重構的誤差??;改進后的Multi-scale CNN 精度比原始的CNN 模型有明顯的提升,其中精度提高最多的是xz平面中輸入分辨率為16 × 16 處,其精度提高了28.24%;輸入分辨率越低,重構后的誤差越大,但前兩種方法重構的誤差都要比插值的小。其中xy平面重構的誤差都小于其他兩個平面,這是由于xz和yz平面過建筑截面,受邊界條件影響,深度學習超分辨率重構的過程會有一定的誤差。
表3 不同輸入分辨率速度場的重構誤差對比Table 3 Comparison of reconstruction errors of velocity fields with different input resolutions
上述超分辨重構過程利用來流風向角0°的流場數(shù)據(jù)集進行訓練,獲得了超分辨率重構模型,結果顯示該模型對來流風向角0°不同瞬時的流場重構具有良好效果。但是當來流條件(如風向角、風速等)發(fā)生改變時,訓練好的模型參數(shù)是否能應用于其他條件下的流場超分辨率重構?
基于以上疑問,本文進一步探索了模型的泛化能力:1)基于來流風向角0°數(shù)據(jù)集訓練得到的模型,重構來流風向角30°的流場(Multi-scale CNN 模型1);2)在數(shù)據(jù)集中增加來流風向角30°的流場數(shù)據(jù),重新訓練超分辨率重構模型(Multi-scale CNN 模型2)。其中,來流風向角30°的流場數(shù)據(jù)集選取方法同前文來流風向角0°的流場數(shù)據(jù)集一致,共120 個數(shù)據(jù),各樣本時間間隔0.005 s。即總的數(shù)據(jù)集中訓練集共有200 個數(shù)據(jù),測試集共有40 個數(shù)據(jù)。
表4 給出了Multi-scale CNN 模型1、Multi-scale CNN 模型2 和雙三次插值方法對來流風向角30°的不同輸入分辨率風壓場和速度場重構的誤差。對比可以發(fā)現(xiàn):利用Multi-scale CNN 模型1 訓練參數(shù)時,最小誤差在xz平面、輸入分辨率為32 × 32 處,誤差大小僅為1.62%,最大誤差在建筑表面、輸入分辨率為8 × 8 處,誤差大小為7.83%;增大數(shù)據(jù)集后,采用Multi-scale CNN 模型2 重構得到的平均絕對誤差總體偏低,最小誤差在輸入分辨率為32 × 32、xy平面,誤差大小僅為0.43%,最大誤差在輸入分辨率為8 ×8、yz平面,誤差大小為4.70%??傮w來說,增大數(shù)據(jù)集后,Multi-scale CNN 模型2 的重構效果最好,誤差最??;對于較高輸入分辨率流場數(shù)據(jù)(32 × 32 和16 ×16),雙三次插值方法的誤差略小于Multi-scale CNN 模型1;對于8 × 8 低分辨率的輸入數(shù)據(jù),Multiscale CNN 模型1 和雙三次插值方法的重構誤差均較低,但對于xz平面和yz平面速度場,雙三次插值方法的誤差略大于Multi-scale CNN 模型1?;谝延心P蛥?shù),對不同低分辨率的建筑迎風面風壓場進行重構,依舊可以得到高分辨率流場數(shù)據(jù),重構后的流場與標準流場基本一致,限于文章篇幅,對比圖像不再給出。
表4 三個模型在不同分辨率中重構來流風向角30°流場的誤差對比Table 4 Error comparison of Multi-scale CNN 1,Multi-scale CNN 2 and Bicubic interpolation models reconstructed with 30° wind direction under different input resolutions
本文將基于深度學習的超分辨率重構方法應用到CAARC 建筑模型繞流流場,采用基于卷積神經網絡和混合下采樣跳躍連接多尺度(Multi-scale CNN)模型,實現(xiàn)了風向角0°和30°來流條件下的不同空間位置的欠分辨率風壓場和速度場的超分辨率重構,可得如下結論:
1)對于輸入的不同低分辨率流場數(shù)據(jù),基于深度學習的Multi-scale CNN 模型和原始的CNN 模型的超分辨率重構誤差均低于傳統(tǒng)插值方法的誤差;相比原始的CNN,改進的Multi-scale CNN 模型的重構效果有明顯的提升。
2)Multi-scale CNN 模型的超分辨率重構效果會受到輸入流場的分辨率的影響,輸入流場數(shù)據(jù)分辨率越低,重構高分辨率流場的誤差越大。
3)由深度學習模型泛化能力的討論可得,基于已有流動參數(shù)下的流場數(shù)據(jù)集進行訓練得到的Multi-scale CNN 模型參數(shù)去重構其他流動條件下的風壓場和速度場,可以得到高分辨率流場;在數(shù)據(jù)集中增加預測流動條件相關的樣本,增大數(shù)據(jù)集,重新訓練Multi-scale CNN 模型,可以得到更優(yōu)的重構效果。
本文的研究結果表明,基于深度學習的超分辨率重構方法可推廣應用到具有復雜湍流流動的實際風場中,可對試驗或計算數(shù)據(jù)進行降噪、糾正和豐富數(shù)據(jù)信息等。后續(xù)工作可以考慮不同的超分辨率重構的深度學習模型,如無監(jiān)督學習方法等,也可在訓練過程中加入物理信息約束以提高重構精度。