『电脑』数值计算中的有限差分法


早期 , 在科学技术的发展过程中 , 理论分析和实验研究一直是两种主要的科学方法 , 但是随着计算机的出现与发展 , 情况就大大不同了 , 研究者可以采用计算机去计算过去那些根本不能求解的问题 , 模拟一些难以观测的现象 , 第三种科学方法——数值计算诞生了 。
有限差分法作为一种最为朴素的计算方法 , 发展时间也最为悠久 , 至今依然活跃 。 有限差分法的朴素思想就是 , 在求解连续性问题时 , 将时空域离散后 , 利用差商代替微商求解问题 。
从应用上看 , 有限差分法常使用在求解时间依赖问题(双曲型和抛物型方程) , 而有限元主要求解稳态问题(椭圆型方程) 。 从建立差分格式的方法上看 , 有限差分法既可以根据Taylor级数展开建立差分格式 , 也可以根据积分方法建立差分格式 , 其中 , 积分方法由于其本身的特殊性 , 也被单独称为有限体积法 。
从微分方程建立差分方程 , 方法格式层出不穷 , 但三个基本性质确是核心所在 , 即差分格式的相容性、收敛性和稳定性 。

  • 相容性:当时间和空间离散步长足够小时 , 差分方程将与微分方程充分的接近 。
  • 收敛性:当时间和空间离散步长足够小时 , 差分方程的解将逼近微分方程的解 。
  • 稳定性:有限差分格式是按照时间层逐层推进 , 如果初始计算引入的误差 , 随着逐层计算被控制 , 那么这个差分格式就是稳定的 。
上述三个性质 , 通常是互相独立的 , 也就是相容的差分格式并不一定收敛 。
通常 , 判断一个差分格式是否相容是简单的 , 只需要将微分方程光顺解带入差分方程再进行Taylor级数展开就可以得到截断误差 , 而截断误差是衡量相容性的重要标准 。 然而 , 判断一个差分格式是否收敛是复杂的 。 相容性和收敛性是差分格式本身的属性 , 而稳定性不仅与差分格式有关 , 还与离散的网格比大小有关 。
实际问题中 , 如果研究一个差分格式的性质 , 需要从上述三个方面入手 , 这是麻烦的 , 能否将三个性质联系起来?特别是收敛性 , 能否有间接判断的依据?下面的定理给出了答案:
『电脑』数值计算中的有限差分法
本文插图
一般来说 , 证明一个差分格式的收敛性是困难的 , 而判断其稳定性则有许多方法 , 比如Fourier方法 , von Neumann条件 , Hirt启示性方法等等 , 其中应用最广泛的是von Neumann条件和其变形 。
Neumann准则是十分重要的 , 其内容这里不再叙述 , 网上资料很多 。 但必须注意 , Neumann条件是一个必要条件 , 下面两个定理说明了条件的充分性 。
『电脑』数值计算中的有限差分法
本文插图
自此 , 差分格式的基本性质叙述完毕 , 有限差分法比起有限元来说理论简单不少 , 但是 , 真正活用理论解决实际问题是困难的 。 下面通过一个简单的双曲型对流方程说明这个问题 。
一维常系数双曲型对流方程为:
『电脑』数值计算中的有限差分法
本文插图
【『电脑』数值计算中的有限差分法】
为了求解这个方程 , 考虑其差分格式是最简单的方法 , 根据系数a的不同 , 有以下四种离散方法:
『电脑』数值计算中的有限差分法
本文插图
这是四种格式可能是最常用的 , 很多人实际使用时可能随便选一种就使用 。 这四种格式差距非常小 , 看(1)和(3)式 , 仅在空间离散时选取的点不同 , 那么它们的相容性、收敛性和稳定性如何呢?