用于湍流研究的新型计算流体动力学框架

1724639078449.jpg

湍流在环境和工程流体中无处不在,在日常生活中也经常遇到。更好地了解这些湍流过程可以为各种研究领域提供宝贵的见解——通过大气输送改进对云形成的预测和通过湍流能量交换改进对野火蔓延的预测,了解河流中沉积物的沉积,以及提高飞机发动机的燃烧效率以减少排放,仅举几例。然而,尽管它很重要,但我们目前的理解和可靠预测此类流动的能力仍然有限。这主要归因于这些流体流动的高度混乱性质和巨大的空间和时间尺度,范围从高端几米量级的能量、大规模运动(其中能量被注入流体流动)一直到低端微米(μm),其中湍流通过粘性摩擦消散为热量。

直接数值模拟(DNS) 是理解这些湍流的有力工具,它无需进行任何近似或简化,即可详细表示非稳定三维流场。更具体地说,这种方法利用网格间距足够小的离散网格来捕捉控制系统动力学的底层连续方程(在本例中为变密度Navier-Stokes 方程,它控制所有流体流动动力学)。当网格间距足够小时,离散网格点足以表示真实的(连续)方程,而不会损失准确性。虽然这很有吸引力,但这种模拟需要大量的计算资源才能捕捉到如此广泛的空间尺度上的正确流体流动行为。

必须应用直接数值计算的实际空间分辨率跨度取决于任务,并由雷诺数 决定,雷诺数用于比较惯性力与粘性力。通常,雷诺数的范围在 10 2到 10 7之间(对于大气或星际问题,甚至更大)。在 3D 中,所需分辨率的网格大小大致与雷诺数的 4.5 次方成比例!由于这种强烈的缩放依赖性,模拟此类流动通常仅限于具有中等雷诺数的流动状态,并且通常需要使用具有数百万个 CPU/GPU 核心的 高性能计算系统。

在“用于张量处理单元上流体流动科学计算的 TensorFlow 模拟框架”中,我们介绍了一种新的模拟框架,该框架支持使用 TPU 计算流体流动。通过利用TensorFlow软件和 TPU 硬件架构的最新进展,该软件工具可以以前所未有的规模对湍流进行详细的大规模模拟,突破了科学发现和湍流分析的界限。我们证明,该框架可以有效扩展以适应问题的规模,或者缩短运行时间,这一点非常了不起,因为大多数大规模分布式计算框架在扩展时效率都会降低。该软件作为开源项目在GitHub上提供。

利用加速器进行大规模科学计算

该软件使用 TensorFlow 框架在 TPU 架构上求解变密度 Navier-Stokes 方程。采用单指令、多数据(SIMD) 方法并行化 TPU 求解器实现。利用 TPU 的矩阵乘法单元 (MXU),同位结构化网格上的有限差分运算符被转换为 TensorFlow 卷积函数的过滤器。该框架利用 TPU 加速器之间的低延迟高带宽芯片间互连 (ICI)。此外,通过利用单精度浮点计算和通过加速线性代数 (XLA) 编译器高度优化的可执行文件,可以在 TPU 硬件架构上执行具有出色扩展性的大规模模拟。

这项研究工作表明,基于图形的 TensorFlow 与新型 ML 专用硬件相结合,可用作编程范例,以求解表示多物理场流动的偏微分方程。后者是通过用物理模型扩充 Navier-Stokes 方程来实现的,以考虑化学反应、热传递和密度变化,从而实现例如云层形成和野火的模拟。

值得注意的是,该框架是第一个用于高性能、大规模模拟的开源计算流体力学(CFD) 框架,充分利用了近年来随着机器学习 (ML) 的发展而变得普遍(并成为商品)的云加速器。虽然我们的工作重点是使用 TPU 加速器,但代码可以轻松调整以适应其他加速器,例如 GPU 集群。

该框架展示了一种大幅降低运行大规模科学 CFD 模拟的成本和周转时间的方法,并在气候和天气研究等领域实现了更快的迭代速度。由于该框架是使用 ML 语言 TensorFlow 实现的,因此它还能够与 ML 方法轻松集成,并允许探索 ML 方法在 CFD 问题上的应用。借助 TPU 和 GPU 硬件的普遍可访问性,这种方法降低了研究人员为我们理解大规模湍流系统做出贡献的门槛。

框架验证和均匀各向同性湍流

除了展示性能和扩展能力之外,验证该框架的正确性也至关重要,以确保在将其用于 CFD 问题时,我们能获得合理的结果。为此,研究人员通常在 CFD 求解器开发过程中使用理想化的基准问题,我们在工作中采用了其中许多问题(更多详细信息请参阅论文)。

湍流分析的一个基准是均匀各向同性湍流 (HIT),这是一种典型的、经过充分研究的流动,其中的统计特性(例如动能)在坐标轴的平移和旋转下保持不变。通过将分辨率推向当前最先进的极限,我们能够执行具有超过 80 亿个自由度的直接数值模拟 - 相当于沿三个方向各有 2,048 个网格点的三维网格。我们使用了 512 个 TPU-v4 核心,将沿 x、y 和 z 轴的网格点计算分别分布到 [2,2,128] 个核心的分布中,以优化 TPU 上的性能。每个时间步的挂钟时间约为 425 毫秒,流动模拟总共 400,000 个时间步。 50 TB 的数据(包括速度和密度场)按 400 个时间步长(每 1,000 步)存储。据我们所知,这是迄今为止进行的同类中规模最大的湍流模拟之一。

由于湍流场的复杂、混乱性质,其分辨率跨越数个数量级,因此有必要以高分辨率模拟系统。由于我们采用了具有 80 亿个点的精细分辨率网格,因此我们能够准确地解析该场。

沿z中平面的速度x分量轮廓。模拟的高分辨率对于准确表示湍流场至关重要。

湍流动能和耗散率是两个常用于分析湍流的统计量。在没有额外能量注入的情况下,湍流场中这些特性的时间衰减是由于粘性耗散,衰减渐近线遵循预期的解析幂律。这与文献中报告的理论渐近线和观察结果一致,因此验证了我们的框架。

实线:湍流动能(k)随时间的变化。虚线:衰减均匀各向同性湍流的解析幂律(n =1.3)(Ⲧ l:涡旋周转时间)。

实线:耗散率(ε)随时间的变化。虚线:衰减均匀各向同性湍流的解析幂律(n=1.3)。

湍流的能量谱表示波数上的能量含量,其中波数k与波长的倒数λ成正比(即k ∝ 1/ λ)。通常,能谱可以定性地分为三个范围:源范围、惯性范围和粘性耗散范围(在波数轴上从左到右,如下图)。源范围内的最低波数对应于最大的湍流涡流,其能量含量最高。这些大涡流将能量转移到中间波数(惯性范围)的湍流,湍流在统计上是各向同性的(即在所有方向上基本均匀)。与最大波数相对应的最小涡流因流体的粘性而被耗散为热能。借助在三个空间方向上每个方向都有 2,048 个点的细网格,我们能够将流场解析到发生粘性耗散的长度尺度。这种直接数值模拟方法最为准确,因为它不需要任何闭合模型来近似网格尺寸以下的能量级联。

不同时刻湍流动能的频谱。该频谱通过瞬时积分长度 ( l ) 和湍流动能 ( k ) 进行归一化。

湍流研究的新时代

最近,我们扩展了该框架以预测野火和大气流动,这与气候风险评估有关。除了能够对复杂的湍流进行高保真模拟之外,该模拟框架还提供了科学机器学习(SciML)的功能——例如,从细网格到粗网格的下采样(模型缩减)或构建以较低分辨率运行但仍能捕捉到正确动态行为的模型。它还可以为进一步的科学发现提供途径,例如构建基于 ML 的模型以更好地参数化湍流的微物理,包括温度、压力、蒸汽分数等之间的物理关系,并可以改进各种控制任务,例如,降低建筑物的能耗或找到更高效的螺旋桨形状。虽然很有吸引力,但 SciML 的一个主要瓶颈是训练数据的可用性。为了探索这一点,我们一直与斯坦福大学和 Kaggle 的团队合作,通过社区托管的网络平台BLASTNet提供我们高分辨率 HIT 模拟的数据,以便通过数据集网络方法为研究社区提供对高保真数据的广泛访问。我们希望这些新兴的高保真模拟工具与社区驱动的数据集的结合将为流体力学的各个领域带来重大进展。

致谢

我们要感谢王庆、陈一凡和 John Anderson 提供的咨询和建议,以及 Tyler Russell 和 Carla Bromberg 的项目管理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论