不可压缩流体通常由如上纳维 – 斯托克斯方程来建模。
最近,来自谷歌 AI 的研究人员利用端到端深度学习改进计算流体动力学(CFD)中的近似,以建模二维涡流。对于湍流的直接数值模拟(direct numerical simulation, DNS)和大涡模拟(large eddy simulation, LES),该方法获得的准确率与基线求解器相同,而后者在每个空间维度的分辨率是前者的 8-10 倍,因而该方法实现了 40-80 倍的计算加速。在较长模拟中,该方法仍能保持稳定,并泛化至训练所用流以外的力函数(forcing function)和雷诺数,这与黑箱机器学习方法正相反。此外,该方法还具备通用性,可用于任意非线性偏微分方程。
至于效果如何呢共同一作 Dmitrii Kochkov 展示了该研究提出的神经 络与 Ground truth、基线的效果对比:
首先是雷诺数 Re=1000 时,在 Kolmogorov 流上的效果对比:
最后是雷诺数 Re=4000 时,在更复杂流上的效果对比:
图 1:该研究提出方法与结果概览。a)基线(direct simulation)与 ML 加速(learned interpolation)求解器的准确率与计算成本对比情况;b)训练与验证样本图示,展示出该模型强大的泛化能力;c)该研究提出「learned interpolation」模型的单时间步结构,用卷积神经 络控制标准数值求解器对流计算中学得的近似。
研究者使用数据驱动离散化将微分算子插值到粗糙 格,且保证高准确率(图 1c)。具体而言,将求解底层偏微分方程的标准数值方法内的求解器作为可微分编程进行训练,在 JAX 框架中写神经 络和数值方法(JAX 框架支持反向模式自动微分)。这允许对整个算法执行端到端的梯度优化,与密度泛函理论、分子动力学和流体方面的之前研究类似。研究者推导出的这些方法是特定于方程的,需要使用高分辨率真值模拟训练粗糙分辨率的求解器。由于偏微分方程的动态是局部的,因此高分辨率模拟可以在小型域内实施。
该算法的工作流程如下:在每一个时间步中,神经 络在每个 格位置基于速度场生成隐向量,然后求解器的子组件使用该向量处理局部解结构。该神经 络为卷积 络,具备平移不变性,因而允许解结构在空间中是局部的。之后,使用标准数值方法的组件执行纳维 – 斯托克斯方程对应的归纳偏置,如图 1c 灰色框所示:对流通量(convective flux)模型改进离散对流算子的近似;散度算子(divergence operator)基于有限体积法执行局部动量守恒;压力投影(pressure projection)实现不可压缩性,显式时间步算子(explicit time step operator)使动态具备时间连续性,并允许额外时变力的插值。「在更粗糙 格上的 DNS」将传统 DNS 和 LES 建模的界限模糊化,从而得到多种数据驱动方法。
该研究主要关注两种 ML 组件:learned interpolation 和 learned correction。此处不再赘述,详情参见原论文。
实验结果
加速 DNS
一旦 格分辨率无法捕捉到解的最小细节,则 DNS 的准确率将快速下降。而该研究提出的 ML 方法极大地缓解了这一效应。下图 2 展示了雷诺数 Re = 1000 的情况下在 Kolmogorov 流上训练和评估模型的结果。
最后,该模型可以泛化至更高的雷诺数吗是更复杂的流。下图 4a 表明,该模型的准确率可以匹配以 7 倍分辨率运行的 DNS。鉴于该测试是在复杂度显著增加的流上进行的,因此这种泛化效果很不错。图 4b 对速度进行了可视化,表明该模型可以处理更高的复杂度,图 4c 的能谱进一步验证了这一点。
对 LES 的加速效果
研究者已经描述了该方法在 DNS 纳维 – 斯托克斯方程中的应用,但其实该方法是较为通用的,可用于任意非线性偏微分方程。为了证明这一点,研究者将该方法应用于 LES 加速。当 DNS 不可用时,LES 是执行大规模模拟的行业标准方法。
下图 6 表明,将 learned interpolation 应用于 LES 也能达到 8 倍的 upscaling,相当于实现大约 40 倍的加速。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34560 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!