数值双曲型方程的有限差分法
有限差分法是求解偏微分方程最基础和最广泛使用的数值方法之一。对于数值双曲型方程,其核心思想是用离散的差分商来近似方程中的导数,从而将连续的微分方程问题转化为离散的代数方程组问题。
1. 基本概念:从导数到差分
- 导数的定义:一个函数 \(u(x)\) 在点 \(x_i\) 处的导数定义为:
\[ \frac{\partial u}{\partial x}(x_i) = \lim_{\Delta x \to 0} \frac{u(x_i + \Delta x) - u(x_i)}{\Delta x} \]
有限差分法的核心,就是当 \(\Delta x\) 足够小但不为零时,用差分商来近似这个极限。
- 差分格式:
- 向前差分:\(\frac{u(x_{i+1}) - u(x_i)}{\Delta x} \approx \frac{\partial u}{\partial x}(x_i)\)
- 向后差分:\(\frac{u(x_i) - u(x_{i-1})}{\Delta x} \approx \frac{\partial u}{\partial x}(x_i)\)
- 中心差分:\(\frac{u(x_{i+1}) - u(x_{i-1})}{2\Delta x} \approx \frac{\partial u}{\partial x}(x_i)\)
中心差分的精度(截断误差)通常比向前或向后差分高一阶。
2. 模型方程:线性对流方程
我们以一维线性对流方程作为模型问题,它是理解双曲型方程数值方法的基础:
\[\frac{\partial u}{\partial t} + a \frac{\partial u}{\partial x} = 0 \]
其中 \(a\) 是常数波速(\(a > 0\)),\(u(x, t)\) 是待求解的量。
3. 空间离散:构造半离散格式
首先,我们只对空间导数进行离散,时间保持连续。将空间域划分为均匀网格,网格点为 \(x_i\),间距为 \(\Delta x\)。
- 用中心差分近似空间导数:
\[ \frac{\partial u}{\partial x}(x_i, t) \approx \frac{u(x_{i+1}, t) - u(x_{i-1}, t)}{2\Delta x} \]
- 原偏微分方程在网格点 \(x_i\) 处被近似为:
\[ \frac{du_i}{dt} + a \frac{u_{i+1} - u_{i-1}}{2\Delta x} = 0 \]
这里 \(u_i(t) \approx u(x_i, t)\)。这个方程组是一个关于时间 \(t\) 的常微分方程组,称为半离散格式。
4. 时间离散:引入时间积分方法
为了完全离散问题,我们需要对时间导数也进行离散。将时间也划分为均匀步长 \(\Delta t\),时间层记为 \(t^n\)。
- 显式欧拉方法:用向前差分近似时间导数。
\[ \frac{u_i^{n+1} - u_i^n}{\Delta t} + a \frac{u_{i+1}^n - u_{i-1}^n}{2\Delta x} = 0 \]
整理后得到完全离散的格式:
\[ u_i^{n+1} = u_i^n - \frac{a\Delta t}{2\Delta x}(u_{i+1}^n - u_{i-1}^n) \]
这是一个显式格式,因为 \(u_i^{n+1}\) 可以直接由前一时刻 \(t^n\) 的已知值显式计算出。
5. 稳定性分析:CFL条件
并非所有离散格式都是可行的。一个格式必须满足数值稳定性,即误差在计算过程中不会无限制增长。
- 对于上面这个“中心差分+显式欧拉”格式,通过冯·诺依曼稳定性分析可以发现,它对所有 \(\Delta t / \Delta x\) 都是无条件不稳定的,因此没有实用价值。
- 为了获得稳定格式,我们改用迎风差分(Upwinding)。考虑到信息沿特征线 \(dx/dt = a\) 传播(当 \(a > 0\) 时,信息向右传播),我们应使用“上游”的信息。
- 当 \(a > 0\) 时,使用向后差分:
\[ \frac{\partial u}{\partial x}(x_i, t) \approx \frac{u_i^n - u_{i-1}^n}{\Delta x} \]
- 当 \(a < 0\) 时,使用向前差分。
- 迎风差分格式(\(a > 0\)):
\[ u_i^{n+1} = u_i^n - \frac{a\Delta t}{\Delta x}(u_i^n - u_{i-1}^n) \]
- 该格式稳定的必要条件是CFL条件(Courant-Friedrichs-Lewy条件):
\[ \nu = \left| a \frac{\Delta t}{\Delta x} \right| \le 1 \]
其中 \(\nu\) 称为CFL数或库朗数。这个条件的物理意义是:在一个时间步长 \(\Delta t\) 内,物理扰动传播的距离 \(|a|\Delta t\) 不能超过一个空间步长 \(\Delta x\)。
6. 精度与误差
- 截断误差:将精确解代入离散格式后所满足的方程与原始微分方程之差。迎风差分格式的截断误差在空间和时间上都是一阶的,即 \(O(\Delta t, \Delta x)\),我们称它具有一阶精度。
- 数值耗散与数值色散:即使对于无耗散无色散的线性对流方程,一阶迎风格式也会引入显著的数值耗散(导致解被抹平,激变面变宽)和数值色散(导致解出现非物理的振荡)。这是低阶方法的主要缺点。
7. 高阶格式与推广
为了获得更精确的结果,需要发展高阶精度的有限差分格式。
- 空间高阶化:例如,可以使用更宽的模板(如五点模板)构造空间四阶或六阶中心差分格式。
- 时间高阶化:可以将显式欧拉法替换为高阶的龙格-库塔方法。
- 推广至方程组和非线性方程:对于双曲守恒律方程组(如欧拉方程),有限差分法的原理相同,但 \(u\) 变为向量,\(a\) 变为雅可比矩阵。此时,迎风方向由矩阵的特征值和特征向量决定,发展出了通量差分分裂、通量向量分裂等更复杂的方法,以确保格式的稳定性和对激波的正确捕捉。
总结来说,数值双曲型方程的有限差分法是从导数定义出发,通过离散化将微分问题转化为代数问题。其核心挑战在于构造在满足CFL条件下稳定、精度高、并能有效处理解中可能存在的间断(如激波)的离散格式。一阶迎风格式是基础,但实际应用中多采用结合了高阶精度和激波捕捉能力(如TVD、ENO/WENO)的格式。