system: [SYSTEM]

user: 3. 控制方程的耦合以及流场预测 3.1. 案例及数据概况 本文所研究的实例为不可压缩流体的二维圆柱扰流 [ 13 ] [ 14 ] 问题，雷诺数为100，这种情况下可以表现出稳定的层流卡门涡街现象。如图2所示，所选择的数据来自层流二维圆柱扰流尾流场高精度解(基于Nektar++的谱/hp有限元法得到 [ 17 ] )。本文的工作都基于数据采集区展开。 其中： 时间 t ∈ [ 0 ， 2 ] ， N t ∈ [ 0 ， 199 ] ，共计200个时刻； 图2. 数据采集 横坐标 x ∈ [ 1 ， 8 ] ， N x ∈ [ 0 ， 99 ] ，均分为100个横坐标。 纵坐标 y ∈ [ − 2 ， 2 ] ， N y ∈ [ 0 ， 49 ] ，均分为50个纵坐标。 每个时刻包含5000个坐标点，总数据量为100万个，所包含的状态量有：x方向速度u，y方向速度v，以及压力p。以[x， y， t]作为神经网络模型的输入值，以[u， v， p]作为神经网络模型的输出值。 3.2. 控制方程的耦合 在计算流体力学中，就本例而言，所需要的控制方程包括连续性方程以及动量守恒方程(N-S方程，忽略质量力)： 连续性方程： ∂ u ∂ x + ∂ v ∂ y = 0 (2-1) N-S方程： ∂ u ∂ t + u ∂ u ∂ x + v ∂ u ∂ y = − ∂ p ∂ x + 0.01 ( ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 ) (2-2) ∂ v ∂ t + u ∂ v ∂ x + v ∂ v ∂ y = − ∂ p ∂ y + 0.01 ( ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 ) (2-3) 根据1.2中在神经网络模型中引入非线性偏微分方程的方法，定义h c ，h u ，h v 如下： h c = ∂ u ∂ x + ∂ v ∂ y (2-4) h u = ∂ u ∂ t + u ∂ u ∂ x + v ∂ u ∂ y + ∂ p ∂ x − 0.01 ( ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 ) (2-5) h v = ∂ v ∂ t + u ∂ v ∂ x + v ∂ v ∂ y + ∂ p ∂ y − 0.01 ( ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 ) (2-6) 本例中，没有耦合控制方程(纯数据驱动模型)的损失函数为： l o s s = 1 2 N ∑ i = 1 N ( u i t − u i p ) 2 + 1 2 N ∑ i = 1 N ( v i t − v i p ) 2 + 1 2 N ∑ i = 1 N ( p i t − p i p ) 2 (2-7) 式中： u i t ， v i t ， p i t 为速度压力的真实值， u i p ， v i p ， p i p 为神经网络给出的速度压力的预测值。 通过神经网络的预测值以及神经网络的输入值可以对h c ，h u ，h v 进行计算，并对其最小化，使得神经网络模型的输出值满足连续性方程和N-S方程，实现对流体动力学方程的近似求解。若将其看成损失函数的一部分，那么最终的损失函数可以写为： l o s s t o t a l = l o s s + l o s s h c + l o s s h u + l o s s h v (2-8) 其中： l o s s h c = 1 N ∑ i = 1 N ‖ h c ‖ 2 (2-9) l o s s h u = 1 N ∑ i = 1 N ‖ h u ‖ 2 (2-10) l o s s h v = 1 N ∑ i = 1 N ‖ h v ‖ 2 (2-11) 通过这种方式，可以成功将流体力学问题的控制方程嵌入到神经网络模型中。 3.3. N-S方程近似求解 使用N t = 0到N t = 99内50万个数据，从中随机选取5000个点进行模型的训练，训练步数30，000步。使用训练完成的神经网络模型，对0~99 N t 的数据采集区的速度场和压力场进行重建。选择N t = 50时刻的压力场和速度场计算结果，结果如下： 定义L2范数相对误差： L2_error = ‖ U t r u e − U p r e d ‖ 2 ‖ U t r u e ‖ 2 (2-12) 式中U true ，U pred 分别表示流场状态量的真实值以及神经网络预测值的向量形式。 图3. N t = 50时刻x方向预测速度场与真实速度场 图4. N t = 50时刻y方向预测速度场与真实速度场 图5. N t = 50时刻预测压力场与真实压力场 对 N t = { 10 ， 20 ， 30 ， 40 ， 50 ， 60 ， 70 ， 80 ， 90 } 的速度和压力的L2范数相对误差进行计算，结果如下： Table 1 The L2 norm relative error between the true value and the predicted value of u， v， p at the main momen N t 10 20 30 40 50 60 70 80 90 mean L2_error_u 0.40% 0.31% 0.27% 0.27% 0.32% 0.27% 0.28% 0.33% 0.36% 0.31% L2_error_v 1.29% 0.91% 0.89% 0.91% 0.80% 0.79% 0.83% 0.82% 1.13% 0.93% L2_error_p 1.32% 1.04% 1.03% 1.23% 1.31% 0.97% 1.35% 1.25% 1.53% 1.23% 表1. 主要时刻u， v， p的真实值与预测值的L2范数相对误差 通过图3~5可以直观地看出该神经网络模型重建的速度场和压力场可以与真实流场良好的吻合。由表1可知，神经网络模型在各个时刻重建的流场具有很小的L2范数相对误差，表明模型可以实现对计算域内流场的准确建模，实现了对控制方程组的近似求解。 3.4. 基于神经网络流场预测模型 流场的预测在气象，风电等领域都有实际应用需求，但是实际过程往往存在建模困难等实际问题，所以考虑使用神经网络模型作为短期的流场预测模型。依旧采用二维圆柱扰流的数据集，以x方向速度u的流场短时预测效果为研究对象，L2范数相对误差为评价指标，对耦合控制方程的神经网络流场预测模型和纯数据驱动的神经网络流场预测模型进行对比验证。 由于涉及到未知时刻的流场预测，需要充分利用现有数据，故可以在计算能力之内，适当增加训练时用的数据量。使用N t = 0到N t = 99内50万个数据，从50万数据点中随机选取50，000个数据(保证每个时刻5000个点中选择500个数据点)作为训练数据，训练步数为30，000步，而验证数据集选择完全未知的100~120 N t 时刻的数据，进行两种方法对流场未来趋势预测能力对比验证。使用训练完成的两个神经网络模型，以速度u为例，分别对N t = 110的x方向速度u进行预测结果如下： 从图6，图7中可以直观的看出：除去一些细微的差别，两种神经网络流场预测模型都可以实现对N t = 110时刻的尾流场的预测，预测结果与真实流场基本吻合。 为了从L2范数相对误差上进一步说明二者的预测能力的差别，对两种神经网络模型进行五次试验，二者使用相同的训练数据集，但每次使用的训练数据集不同，训练步数均为30，000步，其他超参数保持不变。每次使用训练好的模型分别对N t = {100， 102， 104， 106， 108， 110， 112， 114， 116， 118， 120}时刻的x方向速度u进行预测，并计算五次各个时刻的平均L2范数相对误差，结果如下： 图6. N t = 110纯数据驱动神经网络模型预测结果 图7. N t = 110耦合控制方程的神经网络模型预测结果 从图8中可以看出，作为流场的短时预测模型，二者都实现了不错的预测效果，但是与纯数据驱动的神经网络流场预测模型相比，耦合控制方程的模型在短时流场预测中具有更小L2范数相对误差，而且具有更小的误差增长速率。这表明在神经网络模型中耦合控制方程，增加物理定律的约束，可以一定程度上提高模型的预测能力。 图8. 两种模型平均L2范数相对误差