田野中有一朵蒲公英,你向它吹了一口气,它的种子便随着你的气流在空中飞舞。于你而言,这只是一阵风,但对于自然而言,它又给出了一个偏微分方程的数值解。流体引发的问题! F6 i7 Z! Q7 E$ C i3 g
像水和空气这样会流动的东西,我们将它们称为流体。对流体的研究,肇源于古希腊阿基米德的浮力原理,经过十八世纪微积分的推动,最终在十九世纪达到顶峰。十九世纪的两位物理学家——纳维和斯托克斯——将流体流动的奥秘都汇聚到了一个偏微分方程中(注1)。这个方程也因他们而得名“纳维-斯托克斯方程”。6 s8 ~ }, C) T8 K7 V
8 C4 i% T0 T/ |9 r- [8 c) W% u% c 但随着实验水平的提高,人们发现,对于一些在极端条件之下的流体,纳维-斯托克斯方程失去了预言的力量。 " I+ x3 G5 U, Y& C 究其原因,物理学家在研究流体的时候,往往假定流体是连续的,这与我们在生活中的体验也是一致的。但事实上,空气和水都是由大量分子组成的,只不过因为分子体积极小而数量惊人,所以在我们看来,空气就变成连续的了,于是风——空气的流动——对我们来说也就是连续的。这就好比大型广告牌一样:在远处看,广告上是一位天真无邪的小孩子,但靠近看的话,不过是数量巨大的油墨点组成的点阵而已。4 K; s- B9 n* Q: N" w* {$ |2 i, o
! ]/ K% e3 f0 {7 |# z/ M0 k 但在极端条件之下,分子的这种离散的特性变得突出,变得不再那么连续了。既然“流体是连续的”这个假设失效了,那么在这个假设的基础上推导出来的流体力学方程,它在极端条件下失去准确性也就并非不可理解了。 ; d2 M* [) d7 C1 _4 G, P, J) n$ F3 P% |( s. s: h
对于物理学家来说,这就意味着在极端条件下,他们需要从另外的假设出发来推导流体所服从的方程。 离散对连续的模拟" u* | ^/ v g+ `# m: m8 | K. f+ P
# c3 [; _3 Z; n4 [& ` F- J) O$ F
但对于研究数学分析的数学家来说,连续的流体要比离散的原子分子更自然,方程比现实更自然。与其说方程描述了现实,不如说现实是方程的近似。在每一阵风中,自然给我们展示的,正是如何通过离散去得到连续。 " k2 j7 _- Y" x: p* B" Z8 \! g. A3 a9 U
自然告诉我们的,正是这样一个道理:通过离散的手段,也能模拟出连续的现象。 $ g8 [5 H) A, b ) h* H2 y& y" K: }/ @ 不知道是巧合还是必然,为了模拟自然中流体的流动,研究人员发展了一种数值计算方法,叫有限差分方法,能给出一些偏微分方程的数值解。, p% H8 N4 N" T9 {" H
有限差分方法的精髓,正是自然告诉我们的道理:通过离散的手段,模拟连续的现象。它将一个原本连续的区域离散化,划分成一个一个的点,就像空气中的分子。然后它将连续的问题转化为离散的问题,也就是说将要求解的问题翻译成线性方程组。最后通过求解这个方程组,我们就得到了原来问题的一个数值解。由于计算机善于处理离散的问题,而离散的问题也会比连续的容易处理,这就使有限差分方法成为了得到偏微分方程的近似数值解的好工具。9 e1 q! t4 u2 g( C, d! R
5 h2 g+ }6 [& F6 r
下面,我们来看一个用有限差分方法解决问题的例子。肥皂膜的数学模型0 ?& y) a) `0 D 【公式出没,注意!不适者欢迎绕行。相信我,不会过于影响后面的阅读。】 6 J# |& \" y3 Z4 u如果我们将下面这个铁丝架浸到肥皂水中再拿出来,架上会有一层肥皂膜,它是什么形状的呢?1 N9 j, [, x! M( P! j
5 P% J# a' ~% U我们先将架子放在一个平面上,它的底面就是一个正方形。为了描绘肥皂膜的形状,我们在正方形上定义一个函数f,在某个点(x,y)上,找到肥皂膜上在它正上方的那一点,然后量度两点的距离,然后我们定义f(x,y)为这两点的距离,如下图所示(细黑线是等高线)。这样的话,定义在这个正方形上的函数f就完全地反映了整个肥皂膜的形状了。$ b% Z& W d( @- ?4 n* c k
% s5 j$ B6 u% l" W流体力学研究的自然流体实际上是离散的分子组成的,我们不知道有限差分方法的灵感是否来源于此,但它的确曾在计算流体力学中起过很大的作用。它也被应用在热力学的数值计算中,比如说计算电脑芯片的散热情况。它的吸引力很大一部分来源于它的简单和易用。# U- x. m i! T2 y
$ \4 c, z, w5 q. _6 U* U
但有限差分方法也并非尽善尽美。它的求解过程只能在一个形状规则、分布均匀的网格上进行,但显然会有某些地方的变化更值得关注。比如说,如果我们想要模拟一条溪流,我们肯定更关注礁石丛生之处被扰乱的水流,而不是毫无阻碍缓缓流淌的部分。而有限差分方法对模拟区域是一视同仁的,每个地方的模拟精度都是一样的,这样的话为了提高精度,很多计算资源就被白白浪费在无关紧要的地方上。此外,还有精度和数值稳定性的问题。( n K2 B. q! q' W! X f