关于paddle:基于PINN的极少监督数据二维非定常圆柱绕流模拟

63次阅读

共计 5900 个字符,预计需要花费 15 分钟才能阅读完成。

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#science

2. 飞桨 AI for Science 流体力学公开课第一期:
https://aistudio.baidu.com/aistudio/course/introduce/27926

3. 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

正文完
 0