try ai
科普
编辑
分享
反馈
  • 流体动力学建模

流体动力学建模

SciencePedia玻尔百科
核心要点
  • CFD 将连续的物理定律转化为在网格上求解的离散数值问题,这需要仔细选择边界条件。
  • 湍流建模是一个关键挑战,可通过 RANS、LES 和 DNS 等一系列方法来解决,每种方法都在精度和计算成本之间取得平衡。
  • 严格的验证(正确地求解方程)和确认(通过与现实比较来求解正确的方程)对于确保模拟结果的可信度至关重要。
  • CFD 是一种多功能工具,具有广泛的跨学科应用,从空气动力学设计和流固耦合到医学中的药代动力学建模。

引言

我们如何预测天气、设计更安静的飞机,或理解动脉中的血液流动?过去,这需要复杂的实验或深奥的数学。如今,第三大支柱已经出现:计算建模。对于流体而言,这就是计算流体动力学(CFD)的领域——一个存在于我们计算机中的虚拟实验室,它将连续的自然法则翻译成机器能够理解的语言。本文旨在连接物理现象与数值模拟,揭示驱动这项变革性技术的核心原理。

我们的旅程始于第一章“原理与机制”,我们将在此揭示 CFD 的基本概念。我们将探讨如何为计算机定义一个物理问题、离散化的艺术、湍流建模的挑战,以及验证与确认的严谨过程。随后,第二章“应用与跨学科联系”将展示这些原理如何应用于不同领域,将抽象的方程转变为工程师、生物学家和科学家不可或缺的工具,用以解决从设计节能汽车到预测药物在人体内分布等各类问题。

原理与机制

想象一下,您想预测天气、设计一架更安静的飞机,或者理解血液如何流经动脉。在过去,您的主要工具会是艰苦的物理实验或强大的纸笔数学。如今,我们拥有了科学与工程的第三大支柱:计算建模。对于流体动力学而言,这就是计算流体动力学(CFD)的世界。这有点像在我们的计算机里拥有一个虚拟风洞或一个数字实验室。但它是如何工作的呢?我们如何将微积分所描述的优雅、连续的自然法则,教给只理解离散数字的机器呢?

本章将带领我们深入这台机器的核心。我们不会迷失在复杂算法的细节中,而是会揭示使 CFD 成为可能的核心原理和机制。可以把它想象成学习一个宏大而复杂的游戏规则——在这个游戏中,我们可以对物理世界提出“如果……会怎样?”的问题,并得到出乎意料的深刻答案。

定义问题:边界与数字世界

任何模拟的第一步都是定义我们的“游乐场”。我们无法模拟整个宇宙,因此必须从中划分出一部分——一个“计算域”。这可能是机翼周围的空间、管道的内部,或是一段河流。但这个数字盒子不能是孤立的;它需要了解外部世界。这就是​​边界条件​​发挥作用的地方。它们是我们施加在计算域边缘的规则,告诉模拟如何与其周围环境互动。这是在我们数字世界前沿所使用的语言。

这种语言主要有三种“方言”,每一种都对应着不同的物理情境:

  • ​​Dirichlet 条件:​​ 这是最简单的规则:在边界上指定一个量的确切值。例如,如果您在模拟一个金属块中的热传递,并且它的一侧紧贴着一大块冰,您可以将该边界的温度设置为 0∘C0^\circ\text{C}0∘C。在流体模拟中,流入管道的水的已知温度就是一个 Dirichlet 条件。这相当于在说:“在这个位置,温度就是这个值,没有商量的余地。”

  • ​​Neumann 条件:​​ 您不是指定值本身,而是指定它的变化率(具体来说是其在边界法线方向上的梯度)。这听起来可能很抽象,但它代表了物理上的通量。想象一个电加热器附着在我们的金属块表面。该加热器每秒提供已知的热能量。这是一个热通量,我们可以将其作为 Neumann 条件施加。一个理想的绝缘体,不允许任何热量通过,是通量为零的特例。这告诉模拟,垂直于边界的温度梯度必须为零,从而防止任何热量散失。

  • ​​Robin 条件:​​ 这是前两种条件的巧妙结合。它将边界上的值与其通量联系起来。最常见的例子是对流。一个在微风中冷却的热物体,其表面温度不是固定的,热量损失率也不是固定的。冷却的速率取决于其表面相对于周围空气的温度。表面越热,冷却得越快。这种关系——通量(热量损失)与边界温度和环境温度(T∞T_\inftyT∞​)之差成正比——就是一个 Robin 条件。这是计算域与其环境之间的一场动态对话,由一个传热系数 hhh 所控制。

选择正确的边界条件是将现实世界中的物理问题正确地转化为计算机可以解决的、定义明确的数学问题的艺术。

离散化的艺术:从微积分到计算

自然是平滑且连续的。风速和水温原则上可以从一个点到下一个点发生无限细微的变化。然而,计算机是离散的生物。它们用数字而非函数来思考。弥合这一鸿沟的过程称为​​离散化​​。我们将连续的计算域分割成有限数量的小体积或单元,从而创建一个​​网格​​。然后,我们不再试图在所有地方求解控制方程,而只在这些单元的中心(或节点)求解。

这种用有限差分代替微积分中平滑导数的近似行为并非没有后果。我们引入的误差称为​​截断误差​​。但这里有一个优美而微妙的观点:这种误差并非只是随机的噪声。它能以一种惊人地物理化的方式表现出来。

思考一个简单的方程,描述某物被流体携带,比如风中的烟雾。一个非常简单的数值格式,称为一阶迎风格式,其主导截断误差在数学上看起来与一个扩散项或粘性项完全相同。这意味着我们的数值方法,由于其自身性质,会在模拟中引入少量的“粘性”或“模糊”效应。我们称之为​​人工粘性​​。就好像数字本身也带有一点摩擦力。这是一个深刻的教训:我们为离散化问题所做的数学选择,可以从根本上改变我们模拟的物理行为。

这引出了一个关键问题:我们如何知道我们的网格足够好?如果单元太大,这种人工粘性可能会占主导地位,我们模拟的就根本不是真实的物理过程。如果单元无限小,计算将耗时无尽。答案在于一个至关重要的程序,称为​​网格无关性​​或​​网格收敛性研究​​。

其逻辑简单而优雅。您在一个网格上运行模拟。然后,您在一个更精细的网格上(比如单元数量是原来的四倍)再次运行,然后再在一个更精细的网格上运行。您观察一个关键的输出量——可能是汽车的阻力或机翼的升力。最初,随着网格变细,答案可能会有相当大的变化。但在某个时刻,当您继续加密网格时,答案将“稳定下来”,两次加密之间的变化量会变得非常小。当这种情况发生时,我们就说解已经达到了​​网格无关性​​。我们就有信心,我们的结果不再受网格尺寸的束缚,而是对原始连续方程解的一个良好近似。这个过程的目的不是找到“真实”的物理答案,而是确保我们得到的答案忠实地代表了我们最初要解决的数学模型。

驯服旋风:湍流的挑战

对于我们关心的许多流动——从 747 飞机上的气流到搅入咖啡的奶油——其运动不是平滑有序的(层流),而是混乱、旋转且不可预测的。这就是​​湍流​​。这是一个由各种尺寸的相互作用的涡流或涡旋组成的漩涡,从巨大的阵风到小至几分之一毫米的微小漩涡。能量从大涡流级联到小涡流,大涡流破碎成更小的涡流,如此往复,直到最小的涡流因粘性将其能量耗散为热量。

直接模拟真实世界问题中的每一个涡流是​​直接数值模拟(DNS)​​的梦想。它要求的网格如此精细,时间步长如此之小,以至于可以解析最小、最快的涡流。其计算成本惊人,大致与雷诺数(衡量流动湍流程度的指标)的三次方 Re3Re^3Re3 成正比。对于一架飞机而言,这需要的计算能力可能超过整个地球的总和。

因此,我们必须妥协。这就产生了一系列湍流建模策略:

  1. ​​雷诺平均纳维-斯托克斯(RANS):​​ 这是工业 CFD 的实用主力。RANS 不试图捕捉湍流瞬时的混沌状态,而是模拟其平均效应。它求解时间平均流的方程,所有旋转的脉动都被捆绑到一个通过​​湍流模型​​来近似的“雷诺应力”项中。它的计算成本低廉,因为它不解析任何涡流。这就像通过飓风的平均路径和风速来描述它,而不去追踪每一次阵风和上升气流。

  2. ​​大涡模拟(LES):​​ 这是一个折中的选择。LES 的理念是,大的、包含能量的涡流是问题几何形状所特有的,必须直接解析。而较小的涡流则被认为更具普适性,对特定几何形状的依赖性较小。因此,LES 使用足够精细的网格来捕捉大涡流,但对“亚格子”尺度的小涡流的影响进行建模。它比 RANS 昂贵,但远比 DNS 便宜,并且能提供更多关于流动非定常性质的信息。

  3. ​​直接数值模拟(DNS):​​ 黄金标准。没有建模。所有尺度都被解析。对于几乎所有的工程应用来说,它的计算成本都高得令人望而却步,但它对于理解湍流本身的基本物理学是一个宝贵的研究工具。

对于所有这些方法来说,一个特别棘手的区域是紧邻固体表面的区域,即​​边界层​​。在这里,速度降至零,梯度极大,需要极其精细的网格。为了解决这个问题,特别是在 RANS 中,我们经常使用一种称为​​壁面函数​​的巧妙技巧。数十年的实验表明,近壁的速度剖面遵循一个可预测的模式,即著名的​​壁面律(对数律)​​。壁面函数不是用大量微小单元来试图解析这个区域,而是利用这个理论定律来“弥合”壁面与第一个计算单元之间的差距。这是一个将物理理论直接嵌入数值方法以节省大量计算工作的完美范例。

引擎室:求解器如何工作

在我们定义了计算域、建立了网格并选择了模型之后,我们得到的是一个庞大的耦合代数方程组——可能包含数百万甚至数十亿个方程。现在,我们需要解出它们。这就是数值求解器的工作,它是 CFD 代码的引擎。

一个重要的区别在于​​稳态​​和​​非稳态(瞬态)​​模拟。稳态模拟寻求一个最终的、不变的状态,比如巡航状态下机翼上方的恒定气流。非稳态模拟则捕捉流动如何随时间演变,比如圆柱后方的涡脱落。

这里常常出现一个混淆点。在运行非稳态模拟时,我们观察物理变量(如速度或压力)如何从一个时间步变化到下一个。但在每个独立的时间步,求解器必须经过一系列“内部”迭代,以求解该时刻的静态代数方程组。这些内部迭代的收敛性由​​残差​​监控,残差衡量当前解满足方程的程度。对于一个有效的瞬态模拟,这些残差必须在进入下一个时间步之前,在每个时间步都降到一个非常小的数值。物理流动可以是非常不稳定的,但在每个时间快照下的数学解都必须严格收敛。

再深入求解器,我们会发现物理学与数学之间美妙的联系。考虑模拟一种不可压缩流,比如水。这类流动的一个奇特之处在于,绝对压力无关紧要;只有压力差(压力梯度)驱动流动。你可以将一个房间里各处的压力都增加一百万帕斯卡,气流并不会改变。

当我们将不可压缩流动的方程离散化时,这一物理原理有一个直接的数学后果。我们需要求解的压力矩阵系统会变成​​奇异的​​。这意味着它没有唯一的解;如果某个压力场是一个解,那么该压力场加上任何常数值也是一个解。这个矩阵有一个对应于这个常数偏移的“零空间”。试图处理这个系统的迭代求解器只会漂移,压力水平会无休止地上升或下降。为了解决这个问题,我们必须提供一个额外的信息:我们必须​​设定一个压力参考点​​。这通常通过将域内某一点的压力固定为零来实现。这不是一个随意的数值技巧;它是对物理事实的数学实现——我们需要在某处确定任意的压力水平,以获得唯一的答案。

关键时刻:验证与确认

我们已经运行了极其复杂的模拟。我们得到了绚丽多彩的云图。但它们是正确的吗?这是计算建模中最重要的问题,它由两个截然不同但严谨的过程来回答:​​验证与确认(V&V)​​。

​​验证(Verification)​​ 提出这样一个问题:​​“我们是否在正确地求解方程?”​​ 这是一个数学上的检查。它旨在确保代码没有错误,并且我们的数值解是对所选数学模型的准确表示。

  • 我们的代码真的守恒质量吗?如果我们模拟流经一个 T 形接头的流动,发现流出的质量比流入的少了 5%,那么我们就遇到了一个​​验证​​问题。我们的数值解未能满足它本应求解的基本控制方程之一(连续性方程)。
  • 我们的解是否网格无关?我们之前讨论的网格收敛性研究就是一种解的验证。它验证了我们的离散化误差是否在可接受的范围内。

​​确认(Validation)​​ 提出了一个不同且更深刻的问题:​​“我们求解的是否是正确的方程?”​​ 这是一个科学上的检查。它旨在将模拟结果与物理现实——通常是实验数据——进行比较,以评估我们的模型对真实世界的表征程度。

  • 想象一下,我们对机翼上的气流进行了一次高度验证的模拟,网格精细,收敛严格。然而,我们预测的升力与风洞中测得的值相差 20%。这是一个​​确认​​问题。例如,我们使用的 RANS 湍流模型可能根本不足以表征该特定机翼上流动分离的复杂物理过程。模型本身是错误的,即使我们完美地求解了它。

这里存在一个严格的层级关系:​​没有验证,确认就毫无意义​​。如果你无法确信你已经正确地求解了模型的方程,你就无法判断你的模型对现实的表征程度如何。机翼上 20% 的误差可能完全来自粗糙的网格(验证误差),也可能完全来自糟糕的湍流模型(确认误差),或者是两者的结合。一项可信的模拟工作总是从验证开始,以量化和最小化数值误差,然后才进行确认,以评估底层模型的物理保真度。

这个构建、求解和质疑的框架,正是将 CFD 从一本数字填色书转变为科学发现和工程创新的强大工具的原因。它是一门活在物理学、数学和计算机科学迷人交汇处的学科,不仅揭示了我们周围流体的秘密,也揭示了其模拟逻辑中所固有的美。

应用与跨学科联系

既然我们已经探索了控制流体运动基本方程的齿轮和杠杆,我们可能会问自己一个非常实际的问题:我们究竟能用这台宏伟的机器做什么?事实证明,答案是几乎无所不能。我们讨论过的原理并不仅仅存在于抽象的数学领域;它们以生动、旋转的细节描绘着我们周围的世界。通过在计算机中利用这些原理,我们创造了一个数字实验室——一个盒子里的宇宙——它让我们能够探索从喷气发动机咆哮的心脏到活细胞内分子无声而精巧的舞蹈等各种现象。这就是计算流体动力学(CFD)的世界。

在本章中,我们将穿越这片广阔而激动人心的领域。我们将看到 CFD 如何成为工程师不可或缺的工具,数学家引人入胜的游乐场,以及生物学家革命性的新显微镜。我们将发现,同样的基本物理定律,当通过计算的视角审视时,揭示了看似迥异的科学技术领域之间深刻的统一性。

工程师的虚拟工具箱

工程学的核心是制造能用的东西。在我们花费数百万美元建造一架新飞机或一座摩天大楼之前,我们希望对其能够高效飞行或抵御飓风抱有信心。历史上,这意味着建造和测试无数的物理原型——一个缓慢、昂贵且有时危险的过程。CFD 通过给予工程师一个“虚拟风洞”,一个数字沙盒,改变了游戏规则。在这里,他们可以在切割第一块金属之前测试、改进和完善他们的设计。

想象一下设计一辆现代节能汽车的挑战。效率的一大障碍是空气动力学阻力——汽车行驶时空气产生的反作用力。工程师使用 CFD 模拟汽车数字模型上的气流,将产生阻力的无形气流和涡流可视化。但这提出了一个关键问题:我们能在多大程度上信任这个模拟?毕竟,计算机模型只是对现实的一种近似。这时,模拟和实验就成了合作伙伴。一个工程团队可能会在真实的-风洞和 CFD 模拟中同时测试十种不同的原型形状。通过统计分析两组结果之间的差异,他们可以建立一个置信区间来量化模拟的准确性。这告诉他们 CFD 是否会系统性地高估或低估阻力,从而使他们能够校准自己的数字工具,并更确定地使用它。

对速度的追求将我们从高速公路带到平流层。设计一架飞行速度超过音速的飞机引入了全新的复杂性。当一个物体突破音障时,会产生激波——压力和温度的突然、剧烈的变化。CFD 对于预测超音速飞机机翼和发动机进气道上这些激波的位置和强度至关重要。然而,即便是最复杂的模拟,也仍然以基础理论为根基。一个超音速进气道的 CFD 模拟可能会预测出激波前后的特定压升。一名工程师随后可以利用经典的斜激波解析理论来计算应该产生这种压力跳跃的精确楔角,从而验证模拟是否按照已知的气体动力学定律运行。这里的美妙之处在于相互作用:简洁、优雅的理论方程为复杂、庞大的数值模拟提供了检验。

这个虚拟工具箱的应用远远超出了交通运输领域。思考一下利用风能的宏伟挑战。现代风力涡轮机是空气动力学工程的奇迹,其叶片长达数十米。模拟整个旋转的多叶片转子周围的气流,计算量将是巨大的。但在这里,一点数学上的巧妙之处帮了大忙。由于叶片相同且等距分布,流场模式以圆形方式重复。我们不需要模拟整个涡轮机;我们可以只对包含一个叶片的楔形“切片”流场进行建模。通过在这个切片边界上施加一种特殊的“旋转周期性”条件,我们告诉模拟,离开一侧的流场必须与进入另一侧的流场完全相同,只是旋转了一个特定的角度。这个听起来简单的技巧极大地减小了问题的规模,使得优化叶片形状以获得最大能量捕获变得切实可行。

从风电场的宏大规模,我们可以放大到隔壁的办公楼,甚至是您口袋里的智能手机。在所有这些系统中,热管理都至关重要。过热的计算机芯片可能会失灵,而通风不良的建筑则效率低下且不舒适。许多这类场景都涉及自然对流,即热流体密度变小而上升的过程。想象一下热散热器上方闪烁的空气,或一杯咖啡冒出的蒸汽羽流。虽然原理简单,但要准确模拟它却需要小心谨慎。如果我们想模拟冷却空气围绕热圆柱(管道或电子元件的简单模型)的流动,我们必须将其放置在一个足够大的计算盒子中,以避免人为地“限制”流动。最重要的是,我们盒子的上边界必须有一个特殊的“出流”条件,允许上升的热空气羽流自由地离开,而不会反射回来干扰解。正是对这种细节的关注,这种正确设置问题的艺术,才将有意义的模拟与数字垃圾区分开来。

也许 CFD 最强大的方面之一是它与其他学科联系的能力。流体流动并非发生在真空中;它们与周围环境相互作用。流经摩天大楼的风会对它施加力,使其摇摆。一个真正柔性的结构,比如一根高高的天线,可能会弯曲到其新形状改变了气流,从而又改变了作用力。这个耦合问题属于流固耦合(FSI)的范畴。在一种常见的“单向”FSI 分析中,工程师首先运行一个 CFD 模拟,模拟风绕着刚性、未变形的天线流动,以计算其表面的压力和应力分布。然后,这些由流体产生的载荷被传递到另一种模拟——有限元分析(FEA)模型——该模型计算天线结构在该特定载荷下的弯曲和变形。这两个强大的计算领域的结合,使我们能够在这个不断变化的世界中设计出更安全、更有弹性的结构。

深入底层:模拟的科学

我们已经看到了 CFD 能做什么,但它是如何工作的呢?为什么它常常需要超级计算机的巨大算力?要理解这一点,我们必须深入了解构成我们数字实验室引擎的数学和计算机科学。

一次 CFD 模拟可能涉及数十亿次计算。让我们想象一位工程师正在优化机翼形状。这个过程可能涉及一个迭代循环:稍微改变机翼的网格,运行一次 CFD 模拟以观察效果,然后重复数百次。总计算成本是迭代次数乘以单次迭代的成本。单次迭代的成本又可进一步分解。计算机必须在机翼周围空间中数百万甚至数十亿个网格点(或“控制体”)上评估流体性质。这涉及到求解一个庞大的线性方程组。所需时间与网格点数 VVV 以及所选数值算法的复杂性成正比。一次详细的分析揭示,总的浮点运算次数是一个复杂的多项式,其中包含了代表求解器不同部分效率的常数——例如用于网格变形的预条件共轭梯度(PCG)方法和用于流场方程的广义最小残差(GMRES)方法。这就是为什么 CFD 是高性能计算的一大支柱;更高的分辨率(更多的点 VVV)和更复杂的物理过程需要更强大的机器。

那么,计算机忙于求解的这个“庞大的线性方程组”到底是什么呢?它是控制流动的连续偏微分方程(PDEs)的离散版本。考虑不可压缩流中最基本的问题之一是强制质量守恒。对于像水这样的流体,这个约束产生了一个著名的偏微分方程,即压力泊松方程。为了在计算机上求解它,我们首先将我们的域——例如一个正方形——离散化为一个点网格。在每个内部点,我们用一个代数近似来代替偏微分方程中的平滑导数,这个近似将该点的压力与其邻近点的压力联系起来。对于一个标准的 5 点模板,在网格点 (i,j)(i,j)(i,j) 处的方程将类似于 4pi,j−pi−1,j−pi+1,j−pi,j−1−pi,j+1=源项4 p_{i,j} - p_{i-1,j} - p_{i+1,j} - p_{i,j-1} - p_{i,j+1} = \text{源项}4pi,j​−pi−1,j​−pi+1,j​−pi,j−1​−pi,j+1​=源项。通过为每个网格点写下这个方程,我们构建了一个巨大的矩阵方程 Ap=bA\mathbf{p} = \mathbf{b}Ap=b,其中 p\mathbf{p}p 是一个包含所有未知压力值的长向量。CFD 求解器的核心是一个高度优化的算法,专门用于求解这个稀疏、结构化的矩阵系统。这就是所发生的美妙转换:一个物理定律(质量守恒)变成了一个偏微分方程,然后变成一个矩阵,最终由计算机的蛮力算术来求解。

新前沿:流体、生命与不确定性

流体动力学建模的触角远远超出了传统的工程领域。随着我们计算能力的增长,我们发现它的原理在最令人惊讶和最切身的地方发挥作用,推动着生物学、医学甚至统计学本身的前沿。

人体在很多方面是一个极其复杂的流体系统。血液本身就是一种复杂流体,在庞大的血管网络中流动,在器官之间运输氧气、营养物质和化学信号。这种观点催生了一种强大的建模技术,称为基于生理学的药代动力学(PBPK)建模。PBPK 模型将人体表示为一系列由血流连接的充分混合的隔室(器官)。通过为每个隔室写下质量平衡方程,我们可以模拟一种物质——无论是一种救命的药物还是一种有害的毒素——如何随时间被吸收、分布、代谢和排泄。这在发育毒理学中变得至关重要,其目标是预测胎儿对孕妇服用的潜在危险化合物(致畸剂)的暴露量。为了从头开始构建这样一个模型,科学家们使用了一种称为体外到体内外推(IVIVE)的过程。他们在实验室中测量关键的动力学参数——例如人肝细胞中的代谢速率或跨胎盘细胞层的转运速率——然后使用生理学比例因子(如器官大小和血流速率)将它们构建到全身 PBPK 模型中。这种细胞生物学、生理学和基本质量输运定律的整合,使得在无需进行有风险的实验的情况下,就能预测胎儿的暴露量,体现了预测性、跨学科科学的胜利。

随着我们的模型变得越来越复杂,我们必须面对一个发人深省而又至关重要的真理:所有模型都是错误的,但有些是有用的。CFD 中最大的不确定性来源之一是湍流。我们没有一个完美的、计算上可行的模型来描述湍流涡旋的混沌之舞。相反,我们有一大堆不同的湍流模型(如 k−εk-\varepsilonk−ε 或 k−ωk-\omegak−ω),每个模型都有其自身的优缺点。那么,我们应该选择哪一个呢?一种现代且思想上诚实的方法是根本不做选择。相反,我们可以使用贝叶斯模型平均法。我们从一组相互竞争的模型和一些关于它们可信度的先验信念开始。然后,我们将所有模型都暴露于实验校准数据中。利用贝叶斯定理,我们更新我们的信念,给予那些能很好预测数据的模型更高的权重,而那些表现不佳的模型则权重较低。当需要做出新的预测时,我们不依赖于单一的“最佳”模型。相反,我们创建一个混合预测,即所有模型输出的加权平均,其中的权重就是我们新更新的后验概率。这种将 CFD 与贝叶斯统计学联系起来的方法代表了一种范式转变。它使我们从寻找“正确”模型转变为一个更复杂的量化和管理不确定性的过程。

从工程师可靠的虚拟风洞到统计学家衡量证据的工具,流体动力学建模已成为一种描述世界的通用语言。同样的基本守恒原理,当用计算的语言来表达时,使我们能够设计更清洁的汽车、建造更安全的结构、理解我们自己身体的运作方式,并诚实地面对我们自身知识的局限。数字流体已经重塑了我们的世界,它的潮流正将我们带向一个更加激动人心和相互关联的科学未来。