祝雪峰, 王發潤, 門濟達
(1. 大連理工大學 汽車工程學院, 遼寧 大連 116024; 2. 大連理工大學寧波研究院, 浙江 寧波 315000)
隨著社會對環境污染和能源枯竭問題的日益關注,節約能源逐步成為汽車行業發展中最受關注的問題之一。汽車動力主要通過路面摩擦、空氣摩擦和空氣壓力損耗。以某種方法限制行駛阻力將有利于節約汽車燃料。來自路面的摩擦阻力是汽車能夠正常行駛的基礎,爬坡阻力和加速阻力無法避免,空氣阻力是損耗汽車動力的主要阻力,應該設法加以控制。有效降低汽車的空氣阻力是降低行駛阻力從而降低燃料消耗最可行和最有效的措施之一。[1]
空氣阻力主要源于汽車周圍的空氣流場與汽車表面之間的摩擦和壓差作用,可分為摩擦阻力和壓差阻力。前者源自流體(空氣)與車輛表面之間的摩擦,后者是由汽車表面的壓力分布尤其是車輛前、后的壓差所決定的。因此,空氣阻力主要取決于車輛的尺寸和形狀。[2]研究表明,汽車的空氣阻力Fw主要與車速、車輛外形和空氣密度有關,其滿足關系式
(1)
式中:ρ為空氣密度;A為汽車迎風面積;Cd為空氣阻力系數;v為汽車與空氣的相對運動速度。
汽車的空氣阻力主要由汽車的外形和車速決定。若想通過優化汽車外形盡可能地降低空氣阻力系數,就需要對不同外形的空氣阻力系數進行試驗檢測,從而找到最優解。目前,對汽車的氣動性能研究主要采用以理論研究為基礎、數值分析與試驗分析相配合的方法。
試驗分析的主要途徑有道路試驗和汽車風洞試驗。道路試驗最為傳統,其還原度高,數據能夠體現真實的情況。研究人員已對汽車進行大量的道路試驗,通過安裝在汽車表面的壓力計管檢測動力俯仰力矩和升力等氣動數據,以監測車輛氣動性能指標。[3]但是,由于現場風速以及其他環境因素不受人為控制,且安裝在受試車上的實驗設備會受到振動等干擾,難以得到可靠的數據,針對氣動性能的測試較難完成。此外,道路試驗的試驗場地稀缺、試驗周期長,時間成本和資金成本都很高,如今已經較少使用,取而代之的是風洞試驗。風洞試驗能夠人為設計試驗場地(風洞)的流場性質、控制試驗條件并得到相對可靠的結果。空氣動力學理論多以風洞試驗的數據為基礎發展而來,汽車的主要氣動數據也主要依靠風洞試驗。[4]但是,風洞試驗的成本高昂、試驗周期很長,并且受到阻塞效應、邊界層效應以及雷諾數變化的不利影響,需要經驗修正。[5]
汽車氣動性能數值仿真是基于計算流體力學發展而來的,其主要利用計算機對人為設置條件下的汽車進行氣動性能檢測。該技術成本低、仿真時間較短且不受地點限制,可大大提高技術檢測效率,并使得汽車外形空氣動力學快速優化成為可能。[6]然而,數值仿真求解仍然依賴于計算機的性能,若要處理復雜模型則需更為先進的計算機。[7]
試驗和仿真方法用于測量或計算空氣阻力系數都具有成本高、周期長等缺點,或是受其他因素影響而難以得到令人滿意的結果。隨著信息時代的進步,互聯網技術以及大數據模式迅猛發展,深度學習技術在各個領域嶄露頭角。與傳統仿真方法相比,深度學習方法不需要復雜的參數設計和迭代計算,在大數據基礎上,依據神經網絡能夠很快得到精確的預測數據。本文結合深度學習技術,利用汽車外形的點云數據,對PointNet網絡進行訓練,并最終預測汽車外形點云數據對應的阻力系數。
由于時間和設備的限制,無法通過傳感器或三維掃描儀得到汽車外形的三維點云數據,阻礙進一步研究。本文重點關注由于汽車氣動外形改變帶來的空氣阻力系數變化,因此模型必須有一定的區分度,表面形狀須能體現局部細節設計的不同之處。復雜的外形表面往往需要細致的建模,耗費大量時間。如果想在短時間內建立一定規模的模型庫,并符合相關的要求,就應該選取快速的非參數化建模方法。本文采用T樣條曲面建模,這是一種基于非均勻有理B樣條(non-uniform rational B-splines, NURBS)的更新的建模技術,在保留NURBS技術所有特點的基礎上,T樣條能夠更加高效和快速地構建曲面模型。
T樣條是一種新型曲線曲面技術,可以完成NURBS的所有功能,并且在形狀表達上更為精確。T樣條曲面內部的控制點可以與相鄰的多個點相連接,而NURBS曲面內部點只能與周圍的4個點進行連接。車輛T樣條模型與NURBS模型對比見圖1。T樣條在建模上更為自由和精確,且控制點的個數大大減少。NURBS曲面在表達復雜形狀時必須由多個曲面進行拼接,拼接處網格復雜;T樣條曲面控制點連接自由,因此能夠進行局部細分和編輯,只用一個曲面表達復雜的曲面形狀,可以在很大程度上提高建模過程和設計的靈活性。[8]考慮到時間成本和汽車車身氣動外形的精度要求,選擇T樣條對汽車表面形狀進行重構,一方面統一模型格式和尺寸,另一方面可以在較短的時間內制作符合數量和精度要求的模型庫。

(a) T樣條模型
在Rhinoceros軟件中導入T-Splines插件,利用T樣條重構汽車曲面模型,在制作過程中盡可能表達汽車外形的細節設計。為達到精度要求,采用T樣條對模型進行局部細分(見圖2),使局部結構更為精細,更加貼合實際的汽車模型。輪轂部分對整車空氣動力性能也有一定的影響。蘇暢等[9]研究發現,阻力系數隨著輪輞曲率和偏移量的增加均呈現先下降后上升的趨勢,因此本文模型選用同一種車輪外廓以控制其帶來的負面影響。

圖2 T樣條曲面局部細分效果
為制作訓練集,需要建立一定數量能表達汽車外形的三維曲面模型。汽車的曲面模型需要能夠體現汽車氣動外形特征和比例:第一,需要保證模型沒有縫隙,以免影響后續的仿真步驟;第二,曲面模型應包含對氣動參數影響較大的關鍵部件,如車輪和尾部擾流板等;第三,建立的三維模型庫應盡可能包含各類車型,如轎車、越野車、跑車、貨車等,以提高廣泛性。
在遴選300個三維實體汽車模型后,利用Rhinoceros軟件的T-Splines插件對各個模型進行貼合(見圖3),從而保證精確度和建模效率。這是一種非參數化曲面建模方法,較參數化建模更簡單,模型表達更自由。初步遴選30個有代表性的汽車曲面模型,部分模型展示見圖4。

圖3 曲面貼合過程示意

圖4 部分T樣條曲面汽車模型
Rhinoceros建模軟件允許抽離表面控制點并輸出各個三維點坐標的文本文件。在輸出點云時發現點云較為稀疏,為突出模型的局部特征,將所有模型的點云都進行加密,使得汽車外形特征更為明顯。點的數量均應超過3 000,為后續隨機選擇相同規模的點云數據提供可能,模型對比見圖5。

圖5 加密的點云模型、未加密的點云模型以及原模型
利用前文中的CAD模型制作深度學習仿真數據集。利用ICEM將已有的30個模型進行網格劃分,為每個模型在10~55 m/s范圍內設置10個風速,在CFX中仿真計算不同模型和不同風速下對應的y方向空氣阻力,利用式(1)計算得到相應的空氣阻力系數,最終得到共計300組數據集。
在將STEP格式模型導入ICEM前,先將模型單位統一成為米(m),方便后續參數設置。將STEP模型導入到ICEM模塊(見圖6)后,建立計算域,即人為地根據一定的經驗或規則,在汽車周圍一定距離范圍選取進行計算的區域[10]。

圖6 導入ICEM的車身模型
在實際的汽車行駛工況中,車身周圍區域開闊,計算域并不真實存在,只是在流體力學仿真計算中規定的計算區域,類似于風洞試驗。因此,必須類似地考慮會影響仿真工況真實性和仿真結果精確度的相關因素,比如阻塞比和雷諾數等。阻塞比描述物體的截面積與試驗風道面積的相對大小關系。阻塞比的取值不同會導致流場變化,從而對汽車模型表面的壓力分布造成一定影響。阻塞比的取值在一定程度上約束計算域的選取和設置。在真實的風洞試驗中,阻塞比一般被限制在5%以內[11],但一般認為阻塞比小于1%時才能徹底忽略其干擾。
在ICEM中人為布置一個計算域,在3個方向取適當規模,利用Rhinoceros的求取面積功能進行檢驗,將阻塞比控制在1%以內。計算域選取示意見圖7。對模型進行網格劃分,全局尺寸約為1,部分加密網格尺寸取0.3~0.6,計算域網格劃分結果見圖8。在上述基礎上定義進、出口,以方便后續進、出口類型設置。

圖7 計算域選取示意

圖8 計算域網格劃分結果
利用Workbench平臺將ICEM與FLUENT或CFX通過數據流連接,從而實現模型參數和設置在仿真軟件中的實時更新。FLUENT的計算模型有很多,標準k-ε湍流模型在出口條件為壓力出口時精度最高且收斂最快,適用同種汽車流場工況,故仿真計算選擇標準k-ε湍流模型[12]。
進口條件為速度進口,依據設置好的不同工況在10~55 m/s范圍內按5 m/s間隔依次設置風速;計算域的出口類型設置為壓力出口,壓力的絕對數值為101 325 Pa(1標準大氣壓);汽車模型設為不可移動壁面。求解器設置為2階迎風精度,調整計算步數為600步,仿真過程設置一個監控器以同步輸出空氣阻力系數。
FLUENT最終仿真結果見圖9。在當前設置下,FLUENT輸出結果的收斂性較好,但速度較慢,約300步才開始穩定,且在不同風速下的仿真結果不穩定,沒有統一的規律。

圖9 FLUENT仿真結果
CFX的設置與FLUENT較為相似:進口類別為速度進口,用以更改風速;出口和其他表面均設為開口,壓力均設置為101 325 Pa(1標準大氣壓);其余設置均與FLUENT相似。設置后的CFX計算模型見圖10。CFX不能直接輸出空氣阻力系數,但可以通過輸出各方向的阻力,根據公式計算得到空氣阻力系數。

圖10 CFX計算模型
CFX也可以在運算求解過程中通過監視器實時輸出指定方向的阻力(壓力)數值,CFX運算結束后的監視器圖像見圖11。CFX的仿真運算收斂速度快于FLUENT,并且穩定性更好,在40步之后便幾乎趨于穩定值,在不同風速計算中也得到不錯的結果。空氣中阻力系數隨風速的升高不斷下降,并且數值較為穩定。

圖11 CFX模型計算結果
FLUENT仿真計算的收斂速度較CFX慢,時間成本較高,FLUENT在同時計算多個模型時的速度更慢,并行能力較差。在同一工況下的重復計算中,FLUENT的結果差異性有時較大,而CFX則表現得更為穩定。
綜合來看,選擇使用CFX軟件計算汽車行駛的阻力,并通過式(1)統計計算各個工況下對應的空氣阻力系數,可以得到較滿意的結果。某車型模型在不同風速下的空氣阻力系數仿真結果見圖12。同一車身模型的空氣阻力系數隨著風速的提高而不斷下降,但降幅較小。

圖12 同一模型的空氣阻力系數隨風速的變化
模型床中不同車型在不同風速下的平均空氣阻力系數統計結果見圖13,其中:最大值為某SUV車型(模型編號79),其值為0.450 1;最小值則出現在某跑車車型(模型編號78),其值為0.175 3。這符合實際汽車的空氣阻力系數區間:現代轎車的空氣阻力系數一般在0.25~0.30范圍內,一些跑車在0.20以下,多數SUV在0.35~0.45范圍內。

圖13 模型庫車型的平均空氣阻力系數統計結果
在CFX的后處理模塊中,允許輸出相應的流場以及汽車表面壓力分布云圖。在轉速為55 m/s時,某汽車模型表面壓力云圖見圖14。

圖14 汽車模型表面的壓力分布云圖,Pa
汽車在行駛過程中前端下側受到的壓力最大,這是由于汽車在行駛過程中前部率先接觸空氣分子,使得局部的空氣被壓縮,從而形成很強的阻力,因此汽車應盡可能設計迎風面積較小的前部造型,從而削弱這一阻力造成的影響。針對汽車前端空氣阻力大的問題,很多汽車在前端設置空氣套件,對車身前部的來流進行分流,以降低氣流對前端的影響。該模型未考慮空氣套件的因素,僅將模型制成連續的曲面,因此前部壓力較大。
一般情況下,由于附著層的空氣越過車頂后速度不斷下降,若汽車的尾部流線不佳,最終將可能在汽車尾部形成一個負壓區,但本文模型設置尾部擾流板,會在一定程度上改變后部流場。尾部擾流板通過對空氣的阻滯作用,可形成較大的下壓力(圖14中尾部擾流板上方區域)。這種設計能夠有效減小汽車在行駛過程中受到的氣動升力,進而改善汽車的操縱穩定性和動力性,多見于追求動力性和操縱性的跑車或賽車中。
計算域中汽車周圍流場示意見圖15。氣流以一定速度從進口吹入,經過汽車表面時有明顯的減速,穿過車身底部的時候速度加快。由于后部擾流板的作用,氣流并未在汽車尾部形成渦旋,有利于降低汽車空氣阻力。

圖15 計算域中的流場分布, m/s
PointNet適用于三維點云的特征和分類問題。本文的預測參數為汽車的空氣阻力系數,其在一定范圍內為連續的值。因此,以此為目標進行訓練可有2種思路。
第一種是將各個模型對應的空氣阻力系數按照大小排列并分成若干個區間,以區間的序號對模型進行分類,進而預測點云數據的空氣阻力系數所在的區間。這種方法較為粗略,并且當空氣阻力系數介于區間邊緣時,由于分類模型的評價主要依靠True和False判斷,所以結果不是很精確。
第二種是輸出一個數字。需要將原本的分類模型代碼增加一個全連接層,從而改為單一數值輸出,因此能夠輸出一個連續值,避免第一種方法在區間臨界值上的誤差,并在數值上提高可信度。
綜合來看,用第二種評價方法結果更為合理,因此本文采用上述第二種方法進行評價。
本文的數據庫是建立在不同風速基礎上的,因此需要對每個三維點云數據加入風速標簽,即對各個點在相同風速下加入相同的風速數值,擴充一個維度,這樣點云數據可由三維形式轉變成為四維形式。修改原有PointNet代碼:(1)將對原始數據以及初次特征進行規范化處理的三維變換矩陣設置為四維矩陣,以適應數據維度的提高;(2)將分類模型改為回歸模型,即在多層感知機的最后一層之后增加一個全連接層,對應為一個具體的數值;(3)對應改變損失函數和精確度等可視化指標的相關計算方法,將原有的損失函數修改為常用于評價回歸模型的均方差指標。
統一各個模型的三維點云數據維度,方便添加標簽和輸入網絡。從每一個模型中均勻地取出能夠反應整體形狀特征的4 096個點輸出到準備文件夾,某模型均勻選擇的4 096個點見圖16。

圖16 選點后的車輛模型
對每個模型的所有點分別加入風速標簽,從而得到預處理數據集。根據PointNet網絡特點和數據集的數量,設置測試集和訓練集的數量分別為270和30個,將所有數據分為2個訓練集和2個測試集,分別存儲為文本文件。
將已經準備好的點云數據導入搭建好的PointNet網絡,設置基本參數:初始學習率為0.001,Epoch最大為250,Batch-Size為10。學習率相當于每次迭代參數的步長,訓練過一定輪數后學習率不斷衰減,初始學習率一般定為0.001~0.010,可根據實際訓練效果進行微調:若損失函數下降過慢則應適當調高初始學習率,反之則應稍微調低,直到找到合適的值。Epoch指全部完成一次整體樣本即一個輪次的訓練,僅僅經過一個Epoch難以得到很好的訓練結果,一般經過一定數量的Epoch之后才能夠得到更好的擬合效果。Batch-Size是單次訓練的樣本數,由于計算機性能的制約,在數據集較大的情況下,一般不能一次訓練遍歷全部樣本,因此應該適當設置較小的樣本集,但Batch-Size選取過小將難以收斂。
在完成訓練之后,對訓練結果進行科學且合理的評價,從而衡量神經網絡的效果和性質。評價回歸網絡的主要指標有SSE(和方差)、MSE(均方差)、R-Square(確定系數)和MAE(平均絕對誤差)等。SSE的數值需要較大的數據集,故本文采用MAE評價真實值和預測值點對點的離散程度,并用MSE評價誤差率,二者的計算公式分別為
(2)
(3)
式中:EMSE和EMAE分別為MSE誤差和MAE誤差;yi為第i個點云數據對應的空氣阻力系數仿真值;ypred為空氣阻力系數預測值。
EMSE和EMAE能夠反映預測值集與真值集的偏差程度,其值越接近于0,說明偏差越小,網絡訓練效果越好。
將EMSE作為PointNet神經網絡的損失函數寫入程序并輸出結果,評價預測值集相對于真值集的偏差程度。損失函數MSE在訓練過程中的變化情況見圖17。

(a) 損失函數曲線
為令預測結果的精確度能更符合精確度的定義,從而更直觀地被展示,采用平均絕對百分誤差EMAPE定義精確度計算式,以描述預測結果的準確度A。
(4)
A=100-EMAPE
(5)
按上述精確度公式計算的訓練集精度隨訓練輪次的變化見圖18。訓練集的精度從開始的40%迅速提高到70%以上,這是由于本文設計的訓練集和測試集的容量較小,神經網絡能夠迅速學習模型的特征。在約前80個輪次的訓練之內,訓練集的精確度不太穩定,收斂性不太好,不同輪次的計算結果偏差較大,最低值低于30%,最高值超過80%,變化幅度達160%以上。隨著訓練輪次的增加,訓練集精確度的數值收斂性不斷提高,最終穩定在73%~80%區間內,這表示預測值與真實值(仿真值)的偏差在±20%~±27%。

圖18 訓練集精度隨訓練輪次的變化
訓練的數據量僅為300組數據,并且模型間的差異度不太大,因此精確度無法達到更高的水平。僅就該數據集來說,平均值均方誤差為0.002 55,平均準確率為81.2%,訓練結果令人滿意,能達到預期效果。
將訓練后的數據進行可視化輸出,可直觀地看到最終訓練結果的準確度。完成全部訓練過程后,提取最后一次輸出的測試集預測值并與真實值對比,見圖19。

圖19 訓練集真實值與預測結果對比
由圖19可知,經過多次訓練,預測值和真實值的數值相近,并基本能夠反映其變化誤差。經計算,該組數據的EMSE=0.004 99,平均精確度為80.3%。因為訓練集的規模較小,所以此誤差率在可以接受的范圍內。
基于流體仿真分析建立適合幾何深度學習的數據集。在實際應用中,該方法能夠直接處理由傳感器或三維掃描儀得到的三維點云數據,省去額外的車身三維建模或點云數據的降維處理過程。利用幾何深度學習PointNet搭建幾何三維深度學習網絡,在原有PointNet網絡的基礎上增加風速通道,并改為回歸數值模型,使得網絡更適合實際情況。以30個點云數據模型為數據集,訓練后可得到較為理想的結果,為后續開發實時氣動外形自動優化算法提供參考。