本文用零数学背景的视角,把纳维-斯托克斯方程拆解为「牛顿第二定律在流体上的应用」,并阐明OpenAI证明了三维不可压缩流体可在有限时间内发展出奇点。

ANKIT JXA(@KINGOFKNOWWHERE)教程 · 已翻译 · 约 14 分钟
阅览室 · AI 最佳实践#流体#方程#数学#纳维-斯托克斯方程原文

关于纳维-斯托克斯方程的讨论热度一直很高。如果你不是数学专业出身,对计算流体力学也不太熟悉,那么这份指南正是你所需要的。

什么是流体,它们为何重要

液体和气体构成了流体。本质上,任何能够流动的物质都是流体。

如果你还记得科学课上的内容,大多数实验都涉及固体物体。例如,每个人对牛顿定律的初次接触可能都是测量放在桌面上的10公斤质量块所施加的力。面对这样的问题,任何学生大概都会假设该质量块是固体:也许是一块球形或立方体的金属。

从视觉和直觉上看,这很合理。但在另一个宇宙中,如果我强迫你想象10公斤的水,这种想象就变得有些模糊了。

在数学上,你可以用长、宽、高来表示一个固体立方体。但如果你想表示流体——即液体或气体——那就更难了。这主要是因为流体会占据容纳它的容器的形状,无论是玻璃杯、杯子、注射器,甚至是一个湖泊。

你仍然可以通过将流体想象成被划分为假设的立方体来测量其体积,以立方厘米或立方米为单位。但这些立方体仅仅是一种数学上的便利。

在现实世界中,流体的物理特性并非源自那个假设的立方体。它取决于流体如何流动,其不同部分如何运动,以及压力、密度等量在其内部如何变化。

因此,我们需要一些数学工具来理解这种行为。

让我们建立一些数学基础。

离散与连续

离散量可以取分立、各不相同的值。想象一下数房间里的人数:可以有1人、2人或3人,但不可能有2.46人。可能的取值是逐级跳动的。

连续量则表现不同。考虑数轴上1和2之间的区间。我们起初可能会想到像1.1、1.2和1.3这样的值,但没有什么能阻止我们在它们之间插入更多值:1.11、1.111、1.1111,如此类推。在任何两个带有小数的数之间,都存在无穷多个数。

在连续数学中,我们不再把1和2视为孤立的点,而是将它们看作由一条不间断的线连接起来的两个点。

这一概念在流体动力学中变得至关重要。尽管流体实际上由可绘制在图表上的单个分子组成,但我们通常不想在x轴和y轴上分别追踪每个分子。相反,我们拉远视角,将流体视为连续填充空间的物质。这就是我们假设流体为连续体的原因。

计算流体力学的基础

CFD代表计算流体力学。其目标简单明了。设想你有一种流体和一个供其流动的空间。某些初始条件决定了流体在不同位置和不同时间的行为。

一个听起来类似的问题是:设想你有一列火车和一个供其行驶的空间。你知道火车的初始速度,也知道它能以有限的加速度加速。你必须确定该火车在特定时间和位置的速度。

与刚体不同,流体的状态由多个因素同时衡量:

  1. 域——流体在哪里流动?是水在管道中流动吗?还是空气在飞机周围的流动?
  2. 流体种类——流体的密度是多少?例如,油的密度高于水,因此一瓶油可能比一瓶水感觉更重,因为其粒子排列得更紧密。密度是质量除以体积。质量是构成物体的物质,体积是物体占据的空间大小。
  3. 速度——如果水在管道中流动,水的不同部分以不同速度运动。与其说“速度=60公里/小时”,不如在CFD中将其表示为运动的函数。无论水是向上、向下、侧向移动,还是以多个方向组合旋转,由于速度既有大小又有方向,流体在不同方向上可以有不同的速度。
  4. 压力——压力是流体对其周围环境施加的力。想象一下,将手放在花园软管的末端。水会推压你的手。这种推压的趋势与压力有关。从数学上讲,它是流体施加的力除以力所作用的面积。流体倾向于从高压区域流向低压区域。这就是为什么压力不仅仅是CFD的输出结果;它也是驱动流体本身的因素之一。例如,在飞机的情况下,机翼上方和下方存在不同的压力,从而产生升力。
  5. 密度——已在第2节中讨论
  6. 温度——流体具有多少热能?对于气体而言,温度对流体行为有重大影响。通常,较高的温度意味着分子具有更多的动能(运动能量)。热空气通常比周围较冷的空气密度低,因此会上升。使热空气上升的力称为浮力。

CFD将域中的每个点表示为速度、压力、密度和温度的函数。

要理解的是,所有这些值不再是常量,而是表示为数学函数,这些函数会产生连续的值。

牛顿第二定律

在刚体物理学中,我们假设速度会持续变化。汽车可以加速,人可以慢慢开始奔跑,而从山上落下的球体会不断加速。速度变化的速率被称为加速度。

对于刚体,牛顿第二定律指出力等于质量乘以加速度,但更好的表示方式是将加速度视为速度的微分,即速度的变化率。

然而,如果我们处理的是流体,正如我们之前讨论的,质量并不是我们在CFD中会考虑的度量之一。我们考虑的是密度。

所以事情很简单,对吧?非常像一辆快速行驶的汽车会比缓慢加速的自行车施加更大的力,以加速速度从山上流下的水会引发洪水,但如果那是更稠密的泥水,洪水会更严重。

在流体的情况下,这个速度是流体流动位置和时间的函数。流体可以向多个方向流动。它可以直线流动——左右、上下、侧向,或任何其他方向。

一种简单的可视化方式是,它可以沿X轴(水平)、Y轴(垂直)和Z轴(感知的远近维度)中的任何方向流动。在数学中,x、y和z被表示为依赖于空间和时间的任何度量的分量。

但更简单的可视化流体中所有这些加速度的方法是,取流体上的所有力并将其除以密度。记住,这是因为力等于质量乘以加速度,但在流体中我们没有质量的概念。

在流体的情况下,通常有两种力会施加,非常类似于刚体。然而,在刚体中,假设内力始终为零,而外力是驱动任何运动的因素。这是牛顿第二定律的基本基线,它给我们带来了方程F = ma。

对于流体而言,我们通常不能将整个流体视为一个刚体,因为流体的不同部分可能以不同方式运动,并施加不同的内力。我们会在脑海中隔离出一小块流体,并问:作用在这一微小流体元上的力有哪些?它们可以是

  1. 压力——如果流体的左侧部分向右推它,而右侧部分向左推它,且两者不平衡,这种压力就会产生力。压力实际上是流体内部相互作用的一种形式
  2. 粘性力。流体的不同层以不同速度运动。顶层水可能很快,掩盖了速度没那么快的中层,而中层又掩盖了底层——那里正缓慢腐烂并滋生藻类。快层倾向于拖动慢层向前。同时,慢层倾向于阻碍快层,确保它不会过快。这种相互作用称为粘性。粘性可能取决于深度或宽度,具体取决于流体所处的区域。它仍会被归类为内力,但与刚体不同,这种内力确实会产生实际影响
  3. 外力,如重力。每一微小流体都受到地球引力场的作用。还可能存在电磁场或体积力,或者也许有人拿起一个玻璃杯,将其包装好,并通过Uber Eats订单配送,这也会对流体施加力

什么是纳维-斯托克斯方程

纳维-斯托克斯方程是一组方程,它是牛顿第二定律在流体中的应用。

在理解纳维-斯托克斯方程之前,请先了解什么是牛顿流体。牛顿流体是指其黏性行为简单且可预测的流体。如果你试图让流体的相邻层更快地相互滑动,抵抗这种运动的黏性力会按比例直接增加,反之亦然。

要理解牛顿流体与非牛顿流体的区别,可以把水视为牛顿流体,而把番茄酱视为非牛顿流体。番茄酱的黏性并不遵循这种比例关系。如果你摇晃或挤压番茄酱,它会变得更容易流动,但水并非如此。因此,水是牛顿流体,而番茄酱不是。

现在,对于这些牛顿流体,以下事实成立:

  1. 流体的质量不能凭空出现或消失。如果某个区域内流体的量发生变化,那必然是因为流体流入了或流出了该区域。
  2. 牛顿第二定律的公式是力 = 质量 × 加速度,这意味着,在流体的情况下,密度 × 加速度 = 压力 + 黏性力 + 外力。在流体中,通常不用质量来表示,而是用密度来表示;并且与刚体不同,我们会同等考虑各种类型的力,因为它们都会影响流体的受力和运动。
  3. 不同于汽车加速度仅取决于速度变化,在流体中,加速度既取决于流体所处的空间,也取决于时间。因此,一个微小的流体团块可以根据其位置和时间而加速。假设在一条完全稳定的河流中,一团水从A点移动到B点,这两点流速不同,那么这团水会仅仅因为从流速较低的点移动到流速较高的点而突然加速。类似地,如果水的流速从早晨到傍晚发生变化,那也会影响加速度。因此,总加速度取决于由空间引起的加速度和由时间引起的加速度之和。

著名的方程将这一切整合起来,表明水的惯性实际上是其压力加上粘性力再加上外力,这是牛顿第二定律的延伸。

纳维-斯托克斯方程有多种版本。对于可压缩的流体,存在可压缩版本;对于像普通水流这样我们近似认为密度在整个过程中保持恒定的情况,则存在不可压缩版本。

在稳态情况下(想象你站在一个固定点,观察到的流动不随时间变化),纳维-斯托克斯方程的整体模式不随时间改变。如果速度随时间变化,则称为非稳态纳维-斯托克斯方程。

如前所述,我们采用了x、y、z三个维度,假设一切都在三维空间中。纳维-斯托克斯方程也可以应用于二维空间。

综合以上所有因素,纳维-斯托克斯方程存在多种不同的版本。

欧拉的纳维-斯托克斯方程

在粘度可忽略的情况下,可以存在无粘性流动。这些也被称为欧拉方程,其中粘度被忽略。这与纳维-斯托克斯方程完全相同,但此处不假设粘度存在。

求解它意味着什么

这些方程是在理想情况下遵循的规则。给定流体、几何形状、初始条件和边界条件,如果我们想精确计算整个域内所有流体量(通常是速度和压力),这可能并不总是可行的。

一个简单的类比是,如果 x + 2 = 5,这个方程告诉你一种可求解的关系,因此你可以比较并得出 x = 3。纳维-斯托克斯方程在概念上与此相同,只不过不是求解像 x 这样的一个数,而是求解四个数,这四个数是关于流体的四个不同值。这就像求解一个方程,很像线性方程,但涉及多个维度。

涡旋

在处理流体时,我们会遇到涡旋的概念,它是指强旋转流体的区域,如漩涡或龙卷风、洗衣机中的水流旋转,或咖啡中奶油的旋涡。涡量是衡量流体涡旋内部发生的旋转行为的数学量。

不要仅仅把它想象成一个漩涡。涡旋是流体中旋转的区域。在三维空间中,你可以想象这种旋转围绕一个无形的轴进行。这个想法很简单。涡旋可以被延伸和拉伸,很像滑冰者挥动手臂以特定加速度移动。问题很简单:我们能否在无限空间中延伸它?

OpenAI 解决了什么

对于三维不可压缩的纳维-斯托克斯方程,光滑的流体流动可能在有限时间内发展出奇点。

再次解释他们使用的所有术语:

  1. 流体流动——与刚体不同,流体对象的性质可以持续变化。给定位置(xyz),因为我们是在三维空间中考虑,并且对于给定流体的时间 t,你可以计算该处流体的速度。
  2. 不可压缩流体是指我们假设密度恒定的流体。想象一小团水,它可以移动、旋转、拉伸和变形,但不能在保持质量不变的情况下简单压缩到体积的一半,因为密度是恒定的。可以这样理解:你不能简单地将手帕折叠20次,因为它本身就不是那样设计的。
  3. 光滑。当数学家说流体是光滑的时,他们并不是说水在物理上看起来光滑。他们谈论的是速度的数学函数。如果速度变化是渐进的,这意味着流体在直觉上是光滑的。如果没有突然的变化,那么流体可以被认为是光滑的。更正式地说,光滑意味着方程所需的速度存在且表现良好。
  4. 初始条件是纳维-斯托克斯方程的起点。在时间0时,速度是怎样的?例如,然后你可以向你的纳维-斯托克斯方程提问:给定起点是这样的,下一步会是什么?
  5. 现在,在任何给定时间都可能出现问题。假设给定时间是5.53秒。流动开始时完全平滑,经过一段普通、有限的时间后,数学解不再保持平滑。
  6. 奇点是指数学描述开始表现异常的点。例如,倒数函数(1/x)在1、0.10、0.01处表现良好。当你继续减小并一直趋近于0时,它突然变成无穷大,这意味着0是该函数的奇点。函数的奇点就是函数开始表现不规则的地方。
  7. 因此,有限时间奇点意味着,从一个完全平滑、有限、物理上合理的数学速度场出发,如果允许流体根据纳维-斯托克斯方程演化,经过有限时间后,所得解变得奇异。这意味着它不再保持经典平滑解。

千禧年大奖中提出的问题是:“最后一步真的会发生吗?”

预期是事情会爆炸,正如术语所暗示的:有限项会突然变成无穷大或不可测量。它会突然开始趋向无穷大。

那么,简单来说,OpenAI 解决的是这样一个问题:设想一种理想粘性流体,在普通三维空间中流动,其密度永不改变。从一种完全良态的、没有无穷大、没有间断的速度模式出发。让牛顿定律、压力和粘性决定该流体如何演化。能否保证由此产生的速度场永远保持数学上的良态(不爆炸),还是说方程本身可能将运动集中得如此剧烈,以至于在有限时间后,光滑的数学描述会崩溃?

或者,用非常、非常浅显的话说,它只是问:完全合理的流体运动,能否在数学上自我破坏?

我们并不真正知道它在什么情况下会自我破坏,而这正是它成为真正难题的原因,因为多维空间中存在无数方向可能导致这种问题。

他们的解决方案是什么

OpenAI 提出了一个数学上有效的例子,表明该方程确实可能发展出奇点。核心构造是一个向内螺旋的涡旋,同时被拉长、变细。随着这一过程,中心区域附近的速度越来越大,而该区域本身却不断缩小。

巧妙之处在于,没有新能量被创造出来。总能量保持有限,尽管那个特定涡旋中、不断变小的特定区域内的局部速度会变得无界。对于该涡旋中一个无穷小的区域,其速度将趋于无穷大。

你不能通过作弊或凭空想象来证明这一点。你不能简单地施加一个无穷大的外力,然后说:“看,速度变成无穷大了。” OpenAI 表示,构造中的外力保持光滑,而崩溃是由流体自身产生的。

在这个例子中,令人印象深刻的是,原本以完美牛顿纳维-斯托克斯运动行进的流体,突然发展出一个不断缩小的涡旋。在某个更小的尺度上,它产生了无界、无限的速度。他们成功地在数学上捕捉到了导致这种形成的精确数值。

据OpenAI所述,难题在于如何同时平衡所有这些指标。真正的数学难点在于纳维-斯托克斯方程中各项的平衡。他们指出,加速度、压力梯度、动量传递和粘性都变得非常大,但它们以极其精确的方式相互抵消。由于这种抵消,即使流体粘性激增,外部驱动力也能保持平滑。为了维持这一切、进行优化,并测试多个此类模拟,他们得以启动多个AI代理来完成这样的任务。

如果仅靠编程实现,这将会非常困难,因为模拟数量会过于庞大。

找到正确解法的方法是在循环过程中,结合上下文理解所有这些解,这正是大型语言模型配合循环所擅长的。

最简单的理解方式是,OpenAI能够发现一种具有无限速度的异常行为,并理解及构建出严谨的构造和模拟,证明这种奇点确实可能发生。

已读完 · 本文由熊猫易读翻译重排