16KDD Convolutional Neural Networks for Steady Flow Approximation

本文简介

以前空气动力学的计算方法是传统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随机生成的球面和矩形的组合。

网络模型如图所示:
16KDD Convolutional Neural Networks for Steady Flow Approximation
16KDD Convolutional Neural Networks for Steady Flow Approximation

模型介绍

输入预处理方法

本文提出的SDF算法(Signed Distance Function)是对物体形状以及距离物体边界远近的描述算法,物体边界为0,边界内为负,边界外为正;每个点的值为距离最近边界点的绝对距离。
在二维情况下:
16KDD Convolutional Neural Networks for Steady Flow Approximation
SDF算法二维结果图:
16KDD Convolutional Neural Networks for Steady Flow Approximation
三维结果图:
16KDD Convolutional Neural Networks for Steady Flow Approximation

模型结构

网络总体结构为encoding统一做一次,而decoding分通道做,通道表示速度分量。作者用实验证明把encoding分开没有意义。网络架构如图所示:
16KDD Convolutional Neural Networks for Steady Flow Approximation
编码部分由多个卷积层加一个全连接层组成,解码器为编码的反过程,第一次解码器可以将编码器的全连接层输出看成1×1×n维向量。编解码过程如图所示:
16KDD Convolutional Neural Networks for Steady Flow Approximation
损失函数分为2D和3D情况下:
16KDD Convolutional Neural Networks for Steady Flow Approximation
运行结果:16KDD Convolutional Neural Networks for Steady Flow Approximation
可以看出,与传统CFD算法误差在一定范围内。