1. 引言
由于机器学习方法的快速发展,基于神经网络的方法正受到越来越多的关注。研究人员已经提出了许多基于神经网络的数值方法,这成为了一种求解偏微分方程(PDE)的有前景的方法。
许多用于求解偏微分方程的机器学习方法都基于深度神经网络,例如深度伽辽金方法(DGM) [1]、物理信息神经网络(PINN) [2]、深度Ritz方法(DRM) [3]和弱对抗网络(WAN) [4]。这些方法之间的主要区别在于损失函数的构建。例如,PINN和DGM的损失函数是基于偏微分方程强形式残差的L2范数。DRM的损失函数则是基于偏微分方程弱形式对应的能量泛函。WAN方法通过最小化由偏微分方程弱形式诱导的算子范数来构建损失函数。
过去的五十多年以来,计算流体动力学(CFD)的方法层出不穷。如果控制方程精确已知或所有尺度都能准确解析,这些方法就能非常有效。然而,在许多实际应用中,要么物理过程尚不完全清楚(例如在反应输运中),要么求解大时空尺度谱的成本过高,因此不得不采用亚网格尺度闭包。在过去十年中,人们已开展多项研究,尝试将神经网络融入流体力学的求解中,并采用不同的方法。在[5]中,PINN方法被用于求解模拟高速气动流的一维和二维欧拉方程。在[6]中,提出了一种针对非线性守恒律的离散子域上的保守PINN。在[7]中,提出了一种用于双曲系统的热力学一致性PINN。PINN还在[8]中用于求解超音速流动的逆问题。在[9]中,引入了一种带有方程权重的PINN方法,该方法引入了一个权重,使得神经网络能够专注于训练更平滑的部分。
许多研究人员也关注将机器学习方法引入纳维–斯托克斯方程组(NS)的计算。文献[10]使用卷积神经网络(CNN)构建了圆柱尾流的预测模型;文献[11]使用时序神经网络 (CNN) 建立了数据驱动模型,用于预测圆柱尾流本征正交分解(POD)模式的系数。文献[12]基于少量速度测量数据,双向循环神经网络(BIR)被用于预测圆柱尾流的POD系数,获得了比扩展POD方法更精确的结果[13] [14]。此外,深度学习技术也被应用于粒子图像测速(PIV),用于分析湍流边界层的实验室数据[15]。文献[16] [17]对各种机器学习技术的引入在流体力学领域取得的进展进行了全面的总结。
在本文中,我们结合自动微分技术,开发了一种基于PINN的Navier-Stokes方程组求解器。该方法无需网格且易于实现,对于多物理场和流体力学反问题依然有效,尤其是在存在一些(多保真度)数据可以弥补缺失物理场的情况下。我们使用开发的PINN求解器模拟了一系列流动问题。例如稳态科瓦斯奈流问题、非稳态圆柱绕流问题等。我们也为对传统CFD方法有挑战的问题进行了一系列测试,例如边界数据大噪声问题、边界不完整甚至缺失问题以及流体性质未知的反问题等。数值实验结果证明,我们开发的求解器不仅可以很好地模拟传统CFD方法可以计算的问题,对传统CFD方法有挑战的问题也可以保持一定精度。
本文其余部分安排如下:第2节介绍模型问题和PINN方法。第3节提出用于求解Navier-Stokes方程组的PINN求解器。第4节通过一系列数值测试来评估我们方法的准确性。最后,第5节总结了主要结论。
2. 准备
2.1. 纳维–斯托克斯(Navier-Stokes)方程
在本节我们介绍了非定常不可压缩三维Navier-Stokes方程组的速度–压力形式。
不可压缩Navier-Stokes方程组为:
(1)
其中,
为无量纲时间,
为无量纲速度矢量,
为无量纲压力,
是由特征长度
、参考速度
和运动粘度
定义的雷诺数。求解方程(1)需要初始条件和边界条件。此处,
和
分别表示Dirichlet边界和Neumann边界。需要注意的是,本文仅考虑由参考解提供的Dirichlet边
界条件;其他边界条件可以在PINN求解器中轻松处理。
2.2. 物理信息神经网络
物理信息神经网络(PINNs)的核心思想是通过最小化偏微分方程(PDE)和边界条件的残差,训练一个深度神经网络
来逼近真实解
。给定训练数据
,其中包含两个集合:
域内采样点
边界采样点
这些点分别表示计算域内和边界上的离散点。用于求解问题(1)的PINN损失函数具体形式如下:
(2)
其中
和
是不同配点处的惩罚权重,默认通常设为1。损失函数中的导数可通过自动微分技术[18]计算。由于该损失函数关于参数高度非线性且非凸,通常采用基于梯度的优化器(如Adam和LBFGS)进行最小化。
3. 方法论
在本章我们讨论如何利用物理信息神经网络求解纳维–斯托克斯方程组。我们通过深度神经网络来近似Navier-Stokes方程组的解,该网络以空间和时间坐标作为输入,预测对应的速度和压力场,即
。
3.1. 网络架构
Figure 1. Neural network architecture diagram
图1. 神经网络结构图
我们使用单个网络多组输出的方式实现对Navier-Stokes方程组解的近似。用于求解式(1)的物理信息神经网络结构如图1所示,对应的神经网络表达式为:
(3)
其中,
和
分别为权重和偏置,
是输入的维度。
是输入变量,
是激活函数,本文的非线性激活函数
采用双曲正切函数tanh。
是神经网络中的参数集合,
表示输入
在参数
下的输出。
在PINN求解器中,偏微分方程(PDE)导数的数值逼近依赖于神经网络输出对其输入的导数。因此,激活函数的可微性至关重要。然而,常用激活函数(如ReLU)无法提供高阶连续导数(特别是二阶连续可导性)。相比之下,具有连续导数的Sigmoid型激活函数(如双曲正切Tanh和逻辑Sigmoid)能够满足这一要求。其中,双曲正切(Tanh)函数在输入接近0时表现出近似的恒等映射特性,这通常使其具有优于逻辑Sigmoid函数的逼近性能[19]。基于以上原因,本文选用双曲正切函数(Tanh)作为神经网络的激活函数。
式(1)中的残差包括动量方程的误差和无散度约束的误差。为了计算Navier-Stokes方程组的残差,偏微分算子通过自动微分(AD)计算,可直接在深度学习框架(如TensorFlow中的“tf.gradients()”)中实现。在自动微分中,控制方程的导数由物理信息神经网络的输出对输入的导数近似表示。
3.2. 训练和采样
我们使用式(3)中的神经网络结构,并定义以下的损失函数(对应式(1))以训练PINN求解器参数:
(4)
其中:
为方程残差损失,
为边界条件损失,
为初始条件损失,
和
为权重系数,用于平衡不同损失项的贡献。
、
和
分别表示Navier-Stokes方程组残差、边界条件和初始条件对应的损失函数分量;
、
和
表示不同损失项的训练数据数量;
和
分别表示边界和第
个数据点在初始时刻的给定速度;
表示第
个方程在第
个数据点处的残差。
通过最小化式(1)对应的损失函数(5),我们优化式(3)中定义神经网络的权重参数。具体优化过程采用自适应学习率算法Adam [20]进行初期预热训练,随后切换至高精度二阶拟牛顿优化器L-BFGS-B。该组合策略权衡两者优势:Adam对初始参数选择不敏感、鲁棒性强但收敛速度较慢;L-BFGS-B收敛速度快、精度高,但依赖较好的初始点。神经网络参数利用Xavier初始化方案[21]随机初始化,训练终止条件为损失函数降至预设阈值或达最大迭代次数。
4. 数值实验
在4.1节和4.2节中,我们测试了我们方法在传统CFD计算比较良好的问题上的有效性,包括稳态科瓦斯奈流和非稳态二维圆柱绕流问题。之后我们展示了PINN求解器的最佳应用场景,即传统CFD方法可能存在局限或计算代价高昂的问题。在4.3节中,我们考虑了边界条件缺失或含有噪声的问题。在4.4节中,我们探讨了流体属性参数未知的反问题,该类问题通常导致传统方法面临极高的计算成本。
4.1. 稳态科瓦斯奈(Kovasznay)流
我们采用Kovasznay流作为首个测试算例来验证PINN方法的性能。该二维稳态Navier-Stokes流的解析解如下:
(5)
其中
计算域设定为
。每条边界选取128个采样点,在域内随机选取2048个点。我们采用Adam优化器训练20000次,随后使用L-BFGS-B训练至停止(基于增量容差自动终止)。我们采用的PINN求解器包含5、7、10个隐藏层,每个隐藏层包含128个神经元。计算误差见表1。这验证了我们的方法可以有效地模拟稳态科瓦斯奈流。
Table 1. Kovasznay flow: Relative
errors of velocity and pressure for varying numbers of hidden layers
表1. 科瓦兹纳伊流:不同隐藏层数量的速度和压力的相对
误差
隐藏层数量 |
|
|
|
5 |
7.21e−4 |
6.24e−3 |
2.63e−3 |
7 |
2.82e−4 |
4.16e−3 |
2.15e−3 |
10 |
2.77e−4 |
2.16e−3 |
1.51e−3 |
4.2. 非稳态二维圆柱绕流
本节我们使用PINN求解器模拟雷诺数
下圆柱体后方的二维涡脱落。圆柱体置于
处,直径
。来自[2]的高保真DNS数据被用作参考,并为PINN求解器的训练提供边界和初值条件数据。我们考虑的求解域定义为
,时间区间为
(超过一个脱落周期),时间步长
。对于训练数据,每个边采样1280个点,并在域内部采样256,000个时空散点计算残差。PINN求解器包含5、7、10个隐藏层,每层有128个神经元。训练过程优化器设置同4.1节。表2展示了计算的误差,表明PINN求解器的计算结果与DNS结果在定性上相符。这些实验验证了我们方法在非稳态二维圆柱绕流问题上的准确性。
Table 2. Non-steady cylindrical flow: Relative
errors of velocity and pressure for different numbers of hidden layers
表2. 非稳态圆柱绕流:不同隐藏层数量的速度和压力的相对
误差
隐藏层数量 |
|
|
|
5 |
2.27e−2 |
3.24e−1 |
1.12e−1 |
7 |
1.91e−2 |
1.16e−1 |
9.27e−2 |
10 |
3.26e−2 |
2.51e−1 |
1.01e−1 |
4.3. 不适定/扰动边界条件下的科瓦斯奈流动
我们以Kovasznay流动为例,并使用与4.1节中相同的计算域。对于该流动问题,我们采用求解了三个边界条件缺失的算例(算例2、3、4)以及一个入口速度含有10%噪声的算例5,这些算例对于传统CFD求解器是不适定问题。
计算结果总结于表3中。残差计算点的数量为1024。神经网络结构为5 × 64。其中,算例1为具有完整边界条件的情况,算例2为缺少上下边界条件的情况,算例3为缺少出口边界条件的情况,算例4模拟了数据同化场景,仅保留入口边界条件(
处),并在计算域中垂线(
)上均匀布置21个速度测量点
,这些测量点覆盖
区间且间距为0.05。算例5为在入口边界条件上增加了随机噪声的情况。噪声水平设定为10%。PINN求解器采用与第4.1节相同的网络和优化方法进行训练。算例1、2、3的结果显示,PINN求解器在求解边界条件不完整的纳维–斯托克斯方程组时,尽管相比于完整的边界条件的情况下精度有所下降,但是依旧能够对纳维–斯托克斯方程组进行有效求解。对于与标准的数据同化问题类似的算例4,PINN求解器同样获得了良好的精度。特别注意在算例5中,在处理含噪声数据时未应用L-BFGS-B优化器。结果表明,PINN求解器在含噪声边界条件下均能取得相对较好的精度。
此外,我们还求解了算例4。该算例仅包含入口边界条件及中间垂直线上的观测数据,这与标准的数据同化问题类似,使用PINN求解器同样获得了良好精度。此外,我们还验证了PINN求解器处理含噪声边界条件的能力。具体而言,在表3的算例5中,在最重要的边界(入口速度)上添加了随机噪声。噪声水平设定为10%,表示噪声幅度与原始数据标准差之比。结果表明,PINN求解器在含噪声边界条件下能取得相对较好的精度。
Table 3. Kovasznay flow: relative
errors of velocity and pressure under ill-posed/perturbed boundary conditions
表3. 科瓦兹纳伊流:不适定/扰动边界条件下的速度和压力的相对
误差
算例 |
|
|
|
算例1 |
6.2e−4 |
2.44e−3 |
1.52e−3 |
算例2 |
1.56e−3 |
9.66e−3 |
5.03e−2 |
算例3 |
4.96e−3 |
7.15e−3 |
2.05e−2 |
算例4 |
6.45e−2 |
5.25e−2 |
8.89e−2 |
算例5 |
1.69e−1 |
1.78e−1 |
4.52e−1 |
4.4. 不适定数据下的反演:雷诺数和流场
接下来我们考虑另一个问题:仅给定一些散乱的流速数据,待求解的量是雷诺数及整个流场——若使用传统计算流体动力学(CFD)求解器,该过程可能计算量极大。神经网络规模为5 × 128,残差点数量为2048个,边界点数量为4 × 128个。除PINN的权重与偏置项外,雷诺数也被设置为可学习变量,并采用4.1节相同的优化方法训练物理信息神经网络。实验结果表明当数据点足够多时,PINN 求解器可以准确反演出未知的雷诺数,结果见表4。具体而言,雷诺数的相对误差量级为10−2。
Table 4. Errors of velocity, pressure, and inversed Reynolds number in flow fields at different Reynolds numbers
表4. 不同雷诺数下流场的速度和压力误差以及反演雷诺数的误差
Re |
|
|
|
1 |
1.21e−2 |
2.44e−2 |
1.52e−2 |
10 |
2.56e−2 |
9.66e−3 |
2.03e−2 |
50 |
9.66e−3 |
3.15e−2 |
2.55e−2 |
100 |
1.45e−2 |
1.25e−2 |
8.89e−3 |
200 |
3.69e−2 |
3.48e−2 |
1.52e−2 |
5. 结论
本文基于物理信息神经网络开发了一种纳维–斯托克斯方程组求解器。该求解器将方程组的初值信息和边界条件纳入损失函数,通过优化损失函数使神经网络近似纳维–斯托克斯方程组的解。此外,对于未知雷诺数的问题,我们的求解器也能成功反演出未知的雷诺数。数值实验证明了该方法不仅对传统CFD计算表现良好的问题有效,对计算成本过高或可能失效的传统CFD难题也依然有效。