2022年10月16日-19日,亚洲计算流体力学会议在韩国九州举办。会议涌现了不少联合人工智能技术进行流体力学模仿的论文成绩,这阐明人工智能技术逐步浸透流体力学模仿畛域。百度与西安交通大学的钻研人员一起,利用飞桨框架和科学计算工具组件PaddleScience,首次实现了基于物理信息束缚神经元网络(PINN)办法,利用极少量监督点模仿二维非定常不可压缩圆柱绕流,将同等条件的CFD流场求解耗时升高了3个数量级。因为会议论文在网上无奈下载,因而附上该论文的具体介绍(图1为论文封面),不便感兴趣的钻研人员理解论文状况以及飞桨和PaddleScience的能力。
- 会议论文代码下载地址
https://github.com/tianshao1992/PINNs_Cylinder
图1 ACFD2022会议收录摘要
钻研背景
计算流体力学(Computational Fluid Dynamics, CFD)是钻研流体力学问题的一种无效办法。CFD模仿通过在示意流体区域的网格上求解流体力学纳维-斯托克斯方程组(一种偏微分方程)来实现。在过来的几十年中,CFD模仿在模仿不同工程畛域的流体问题方面获得了微小停顿,并已成为流体力学中的重要工具。
然而,CFD模仿存在肯定的限度。当流体域和流场简单时,网格生成可能是一项艰难的工作。更细的网格能够给出更精确的后果,但它在工夫和资源上的计算成本很高。通常,学者们会通过部分网格加密在精度和计算成本之间进行权\(横^1\),。然而,这会导致另一个问题,即如果在相邻的部分网格块的交界处,网格尺寸变动太快,则交界处网格的品质可能会变差,因而即便进行了部分网格加密,也须要兼顾不同网格块之间的网格尺寸过渡。此外,不同物理现象须要不同的网格尺寸。例如,在CFD-DEM模仿中,须要对网格进行非凡的解决来适宜细小颗粒的模\(拟^2\)。因而,如果CFD模仿不须要网格,则能从实质上克服上述挑战。物理信息束缚的神经元网络(PINN\()^3\)的呈现,给无网格CFD模仿提供了一种可行计划。
本论文利用飞桨框架和科学计算工具组件PaddleScience,首次实现了基于物理信息束缚神经元网络(PINN)办法,利用极少量监督点模仿二维非定常不可压缩圆柱绕流。通过与基于无限体积法(FVM)的CFD求解办法比照,证实PINN办法在求解精度上可能达到FVM办法等同的精度。同时利用事后训练好的网络模型,每个工夫步的后果预测只需8ms,远远快于FVM办法计算速度,这是因为PINN办法能够在GPU上实现不同工夫步的并行计算。然而PINN模型的训练较为耗时,将来须要开发更高效的算法来解决训练耗时长的问题。
钻研办法
二维非定常不可压圆柱绕流问题形容
二维非定常不可压缩圆柱绕流是一种典型的非定常不可压缩流体景象,蕴含了流动边界层、流动拆散、逆压梯度、粘性耗散等典型的流动景象,经常被用来验证数值求解算法。在本论文中,咱们也选用圆柱绕流作为验证案例,选取的圆柱绕流几何和边界设置如图2所示。
整体流动为长方形区域,左侧为速度入口,右侧为压力进口,高低界面为有限远界面(即不设置边界条件),两头搁置了一个直径为D=1cm的圆柱。圆柱外表满足无滑移条件,速度为0m/s。左侧入口的速度为1m/s,右侧的压力为0Pa。流体的静止粘性系数为0.4c\(m^2\)/s,密度为1kg/\(m^3\)。根据上述参数,能够确定流动的雷诺数Re=250。流动的初始时刻状态由CFD软件OpenFOAM进行非定常模仿后果失去,其中OpenFOAM的工夫步长设置为0.5ms。这里阐明下,OpenFOAM采纳的是无限体积办法(FVM)去求解下列纳维-斯托克斯方程组:
$$\mathrm{\nabla}·u=0$$ (1)
$$\frac{\partial\mathrm{u}}{\partial t}+\mathrm{u}∙∇\bullet+\frac{1}{\rho}\mathrm{\nabla}\mathrm{p}-\mathrm{\nabla}2u-f = 0$$ (2)
其中方程(1)为连续性方程, \( \mathrm{u}\)代表速度矢量,\(\mathrm{\nabla}·u \)示意进出管制体的品质差,因为本案例采纳不可压缩流动,因而进出管制体的品质差为0;方程(2)为动量方程,\( \nu\)示意流体静止粘性系数,\(\rho\)示意流体密度,\(p\)示意管制体上的静压,\(\mathrm{f}\)示意作用在管制体上的体积力(本案例里为0)。
图2 二维圆柱绕流示意图及初始和边界条件
物理信息束缚神经元网络(PINN)
区别于OpenFOAM的无限体积法(FVM),物理信息束缚神经元网络(PINN)利用神经元网络能迫近任意润滑函数的能力,来进行无网格求解纳维-斯托克斯方程组。本文构建的PINN网络结构示意图如图3所示。
神经元网络为一个全连贯层网络,输出为3个神经元节点,别离对应流动的工夫(t)和坐标(x,y),输入为3个神经元节点,别离对应流动的横向速度(u)、纵向速度(v)和静压(p)。在图3中,为了简便表白,采纳速度矢量模式(u)来展现。
为了求解纳维-斯托克斯方程组,在神经元网络的损失函数项引入了物理信息束缚,使得神经元网络既能够在数据层面失去训练,也能够在物理法则层面失去训练。具体损失函数的定义形式见下一节。
本文采纳的神经元网络参数见表1。除了输出和输入的神经元节点,一共有6层暗藏层,每层蕴含64个神经元节点,激活函数为tanh,优化器为Adam,初始学习率为0.001,训练迭代步数为40万。
表1 神经元网络参数设置
图3 物理信息束缚神经元网络构造示意
PINN的损失函数
神经元网络的训练过程,是通过损失函数的反向传递来实现网络参数的更新。本文中,损失函数蕴含数据项和物理法则项:
$$J=J_d+\omega J_p$$(3)
其中, \(J\)是神经元网络的总损失函数,\(J_d\)是数据项损失函数,\(J_p\)是物理法则项损失函数,\(\omega\)是物理法则项的权重。
当\(\omega=0\)时,该神经元网络就是一般的神经元网络。通过设置\(\omega\neq0\),在损失函数中引入物理法则的影响,加强神经元网络对物理法则的拟合能力。物理法则损失函数项通过神经元网络本身的微分传递链计算失去。
数据项损失函数(\(J_d\))定义为预测数值与实在数值之间的均方差(MSE):
$$J_d=\frac{1}{N_d}\sum_{i=1}^{N_d}\left|Y_{pred}^i-Y_{true}^i\right|^2$$(4)
其中,\(N_d\)代表用来结构数据项损失的监督点数目,Y示意用来比拟的物理量,实在数值为OpenFOAM计算结果;监督点指已知流场物理量数值的点,值得注意的是,监督点数目能够比OpenFOAM里的网格点数少。物理项损失函数(\(J_p\))定义为:
$$J_p=J_{PDE}+J_{BC}+J_{IC}$$(5)
其中,\(J_{PDE}\)代表了流体偏微分方程的损失函数项,这也是PINN网络必不可少的一项;\(J_{BC}\)代表了流体零碎的边界条件损失函数项,代表了流体零碎的初始条件损失函数项。
\(J_{PDE}\),\(J_{BC}\)和\(J_{IC}\)的定义如下:
$$J_{PDE}=\frac{1}{N_f}\sum_{i=1}^{N_f}\left|G\left({u}^i,p^i\right)\right|^2$$ (6)
$$J_{BC}=\frac{1}{N_{BC}}\sum_{i=1}^{N_{BC}}\left|Y_{pred}^i-Y_{true}^i\right|^2$$ (7)
$$J_{IC}=\frac{1}{N_{IC}}\sum_{i=1}^{N_{IC}}\left|Y_{pred}^i-Y_{true}^i\right|^2$$ (8)
其中,\(N_f\)是用于计算流体偏微分方程损失函数的数据点数量,\(N_{BC}\)是用于计算流体零碎边界条件损失函数的数据点数量,\(N_{IC}\)是用于计算流体零碎初始条件损失函数的数据点数量,\(G\)代表了流体零碎的即纳维-斯托克斯方程组的隐式格局,现实的状况下\(G=0\)。
流体零碎的总损失函数定义为:
$$J=\omega_1J_d+\omega_2J_{PDE}+\omega_3J_{BC}+\omega_4J_{IC}$$ (9)
其中\(\omega_1,\ \omega_2,\ \omega_3,\ \omega_4\)是各损失函数项的权重。区别于方程(3),方程(9)提供了一个更不便调节各损失函数项权重的定义。本文中\(\omega_1=\omega_3=\omega_4=10,\ {\ \omega}_2=1\)。
PINN的监督点散布
联合之前咱们曾经实现的基于大量监督点的PINN办法精确求解二维度非定常圆柱绕\(流^4\),本文咱们进一步摸索了监督点数量对PINN求解的影响,因为监督点的数目既影响模型的计算速度,也影响模型对数据的依赖性。缩小监督点数量,既能够进步模型计算速度,也能够升高模型对数据的依赖性。为此,咱们设计了6种不同的监督点散布,监督点数量从4到68,如图4所示。
\(N_d=68\)的监督点散布存在两种形式,a计划在圆柱前缘也安排一些点,b计划则所有点均在圆柱前方。 \(N_d=34\)的监督点散布存在两种形式,a计划集中在圆柱近前方,b计划则扩散在圆柱近和远前方。\(N_d=16\)和\(N_d=4\)的监督点散布的区别在于\(N_d=4\)仅在圆柱外表均分散布4个监督点。
图4 圆柱四周监督点布局
钻研后果
PINN的训练过程
依据表1给的参数,在NVIDIA V100-32GB显卡上进行了不同监督点布局的模型训练。在训练40万步后,各损失函数项均收敛,其中一个模型的训练损失函数降落曲线如图5所示。
图5 PINN训练过程损失函数曲线
PINN与FVM比照
利用训练好的模型,咱们将PINN计算的后果与OpenFOAM的FVM办法计算结果比照,如图6和图7所示。能够看到,在所有的监督点布局状况下,对全流场信息(u, v, p)PINN均能获得与OpenFOAM的FVM办法靠近的计算结果,两者的绝对误差从全流场来看也较低。对于\(N_d=4\)的监督点布局,PINN的计算结果也能较好的捕捉到圆柱后涡的脱落景象。
进一步的,圆柱外表的升力和阻力也进行了比照,见图8。从比照后果来看,PINN能够在只须要4个监督点的状况下,失去与OpenFOAM相似的后果。
表2比照了训练好的PINN与OpenFOAM的FVM办法的计算耗时,可见在相似计算配置的状况下,PINN办法比OpenFOAM的FVM缩小了3个数量级的计算耗时。
表2 PINN与FVM计算耗时比照
图6 不同监督点布局下PINN与FVM办法比照(静压、横向流速、纵向流速)
图7 不同监督点布局下PINN与FVM办法比照误差(静压、横向流速、纵向流速)
图8 不同监督点布局下PINN与FVM办法比照(升力和阻力)
后果探讨
通过二维非定常不可压缩圆柱绕流这个典型案例的论证,本文的论断表明PINN办法能够利用在求解非定常不可压缩流体力学,能够获得靠近CFD办法相似的精度,同时在计算耗时上能够晋升3个数量级。
然而PINN办法也有肯定的局限性,一个要害的限度是目前采纳的PINN办法依赖于CFD模仿产生的监督数据。只管本论文的钻研表明,只多4个监督点数据就能够满足PINN求解的需要,然而为了生成这4个监督点的数据,须要进行全流场的CFD模仿,而CFD模仿依然面临网格品质、求解速度等问题。将来须要开发齐全不依赖监督点的PINN办法,能力克服依赖CFD模仿数据的限度。
参考文献
[1] Teigland, R., & Eliassen, I. K. (2001). A multiblock/multilevel mesh refinement procedure for CFD computations. International journal for numerical methods in fluids, 36(5), 519-538.
[2] Volk, A., Ghia, U., & Stoltz, C. (2017). Effect of grid type and refinement method on CFD-DEM solution trend with grid size. Powder Technology, 311, 137-146.
[3] Raissi, M., Perdikaris, P., & Karniadakis, G. E. (2017). Physics informed deep learning (part i): Data-driven solutions of nonlinear partial differential equations. arXiv preprint arXiv:1711.10561.
[4] https://aistudio.baidu.com/aistudio/projectdetail/4178470拓展浏览
1.【PaddlePaddle Hackathon 第四期】—飞桨科学计算 PaddleScience:
https://github.com/PaddlePaddle/Paddle/issues/50629#science2. 飞桨AI for Science流体力学公开课第一期:
https://aistudio.baidu.com/aistudio/course/introduce/279263. AI+Science系列(三):赛桨PaddleScience底层外围框架技术创新详解
4. 飞桨科学计算实训示例:
https://aistudio.baidu.com/aistudio/projectoverview/public?to...相干地址
1. 飞桨AI for Science共创打算:
https://www.paddlepaddle.org.cn/science
2. 飞桨PPISG-Science小组:
https://www.paddlepaddle.org.cn/specialgroupdetail?id=9
3. 飞桨PaddleScience工具组件:
https://github.com/PaddlePaddle/PaddleScience