一种优化CFD网格的深度强化学习框架-MeshDQN



1.背景介绍

计算流体动力学(Computational Fluid Dynamics,CFD)中的网格生成是实现稳定、准确模拟的关键步骤。然而,网格生成和自适应仍然是CFD工作流程中一个重要瓶颈。自适应网格划分技术允许网格自动更新,为当前问题提供准确的解决方案。现有的经典自适应网格划分技术要么需要求解器之外的附加计算,要么需要许多次的CFD模拟计算。当前基于机器学习技术的网格生成和优化技术通常需要大量的计算成本来生成训练数据,并且在范围上受限于训练数据流机制。为了解决上述问题,卡内基梅隆研究团队开发了一个基于图神经网络的通用深度强化学习(Deep Reinforcement Learning,DRL)框架,以不断迭代的方式来优化CFD的网格。该框架通过粗化CFD网格减小CFD模拟计算量的同时保持CFD模拟的计算精度。


2.方法方案

本文提出的用于CFD网格优化的深度学习框架是一种强化学习框架,在该框架中,智能体通过动作与环境交互。当智能体进入状态s后,选择动作a,并导致新的状态s’。此外,每次行动后都会给予奖励r。学习的目标是找到一个行动选择策略,使奖励最大化。度量智能体的状态-动作质量并学习Q函数的一种方法称为Q学习。Q函数的定义如下式所示。因此本研究开发的通用深度强化学习网络被称为深度Q网络(Mesh Deep Q Network,MeshDQN)。

一种优化CFD网格的深度强化学习框架-MeshDQN的图1

MeshDQN的具体框架如图1所示。该框架仅需要一次传统的CFD模拟,即可实现对网格文件的优化,当CFD模拟计算完成后,从模拟的结果数据中提取压力、速度、网格的坐标和边等数据。然后,将这些数据传递到属性计算模块中,以第t个迭代步骤为例,这一环节里计算如阻力或升力等属性指标并据此计算出奖励值rt。然后将奖励值rt和状态变量st输入到图神经网络,图神经网络做出判断并去除网格中的某个节点(如图1中的红色节点)并对剩余的网格节点进行局部平滑。将原来的速度、压力等数据插值到新的网格阶段得到新的状态st+1。最后将新状态下的速度、压力、网格的坐标和边等数据传送到属性计算模块实现下一步的迭代计算。经过多次计算迭代即可实现对CFD网格文件的优化。

一种优化CFD网格的深度强化学习框架-MeshDQN的图2

图1每一步都是从将当前状态st转换为上述图示开始的。状态和奖励rt传递到DQN中,通过动作at选择一个顶点,然后移除选择的顶点,使用局部平均法对网格进行平滑处理,直到收敛,将速度和压力插值到新的网格中,创建下一个状态st+1。使用新的速度和压力来计算目标属性,其中计算出奖励rt+1。这个工作流程创建了双DQN训练所需的元组(st, at, st+1, rt+1)。[1]

CFD模拟生成的网格数据可以用一张由节点和边组成的图结构来表示,因此MeshDQN框架中采用图神经网络,其具体结构如图2所示。该网络的主体结构由多层GraphSAGE层和GCN层构成。其中GraphSAGE层主要用于对节点的编码、GCN层主要用于对节点的分类。各层之间通过Top-K池化层操作后进行数据传输。GraphSAGE层和GCN层的输出均经过最大池化和平均池化层之后拼接得到一个特征表示向量,将各层输出的特征表示向量相加之后输入到由全连接层构成的神经网络分类器中得到最终的输出结果。

一种优化CFD网格的深度强化学习框架-MeshDQN的图3

图2 MeshDQN中的深Q网络。[1]


3.讨论

如图3所示,MeshDQN能够改进所选翼型,保持YS930翼型移除的44个顶点的阻力的目标属性的准确性。在使用Delaunay三角测量和平滑生成网格后仍能保持这种精度。在每个顶点移除后,阻力也大致保持不变,这表明MeshDQN在每一步都选择了保持阻力的顶点。

一种优化CFD网格的深度强化学习框架-MeshDQN的图4

图3阻力结果。计算的阻力的轨迹用红色表示,在每个顶点移除后都会运行完整的模拟。在移除5%的顶点后,阻力会保持不变。[1]

升力结果如图4所示。由该图可知,在移除5%的顶点后,升力保持得相当好。

一种优化CFD网格的深度强化学习框架-MeshDQN的图5

图4 升力结果。计算出的升力轨迹用红色表示,在每个顶点移除后运行完整的模拟。[1]

插值是MeshDQN快速估算目标属性值的关键,对于精确的网格改进轨迹至关重要。图5比较了阻力和升力的计算结果和插值结果。绿色轨迹是每个顶点移除后的插值结果,红色轨迹是通过完整数值模拟得到的计算结果。在上图中,我们看到插值结果和计算结果彼此相关性很好,通常显示在同一位置的上下移动。然而移动的幅度不同。在下图中,对于训练中未使用的升力,插值结果和计算结果之间几乎没有相关性。

一种优化CFD网格的深度强化学习框架-MeshDQN的图6

图5阻力和升力的计算结果(红色)和插值结果(绿色) 比较。[1]


综上所述,MeshDQN成功地获得了精细网格,并且选择性地去除了顶点,同时保持了非结构化网格的二维粘性层流的目标属性精度。MeshDQN能够改善多个翼型的网格,同时不对求解器方案,网格类型,流态或尺寸做出任何假设。虽然此框架已经在给定的任务中取得了成功,但提高插值精确度至关重要,是当前精确度的瓶颈。




4.参考文献

[1] Cooper Lorsung & Amir Barati Farimani. Mesh deep Q network: A deep reinforcement learning framework for improving meshes in computational fluid dynamics [J]. AIP Advances 13, 015026 (2023).


更多精彩,敬请期待

文章来源:晟视科创

(1条)
默认 最新
谢谢分享
评论 点赞
点赞 评论 1 收藏
关注