本文簡介
以前空氣動力學的計算方法是傳統CFD算法,但是它需要的計算開銷大。本文提出了用CNN的方法,預測2D和3D的非均勻穩定層流(non-uniform steady laminar flow),在誤差允許範圍內比CFD快很多(在GPU上快4個數量級)。這使得可以在空氣動力學產品的設計初期快速迭代。訓練數據可以源於CFD結果和實測結果。
本文提出的模型模型步驟:
- 用SDF(Signed Distance Function)表示神經網絡的輸入。
- 單通道encode輸入模型圖。
- 多通道decode得到每個方向速度分量的結果。
數據集:2D數據集是用規則幾何圖形(三角形、四邊形、五邊形、六邊形、十二邊形)作爲訓練集和驗證集,訓練集共10000個,每個圖形20000個,驗證集10000個,每個圖形2000個。用車的集合作爲測試集。3D數據集爲400000隨機生成的球面和矩形的組合。
網絡模型如圖所示:
模型介紹
輸入預處理方法
本文提出的SDF算法(Signed Distance Function)是對物體形狀以及距離物體邊界遠近的描述算法,物體邊界爲0,邊界內爲負,邊界外爲正;每個點的值爲距離最近邊界點的絕對距離。
在二維情況下:
SDF算法二維結果圖:
三維結果圖:
模型結構
網絡總體結構爲encoding統一做一次,而decoding分通道做,通道表示速度分量。作者用實驗證明把encoding分開沒有意義。網絡架構如圖所示:
編碼部分由多個卷積層加一個全連接層組成,解碼器爲編碼的反過程,第一次解碼器可以將編碼器的全連接層輸出看成1×1×n維向量。編解碼過程如圖所示:
損失函數分爲2D和3D情況下:
運行結果:
可以看出,與傳統CFD算法誤差在一定範圍內。