2. 有限差分基础与模型方程

稳定性分析不是凭空展开的,它必须建立在一套明确的离散框架之上。本节的任务是把“要分析什么”这件事说清楚:从导数离散、网格划分、截断误差与相容性这些基础概念出发,以热传导方程和波动方程为例,建立半离散与全离散格式,并明确稳定性分析所针对的对象——即离散格式在时间推进过程中误差是否被放大。

一、从导数到差分:网格与离散算子

有限差分的第一步是把连续区域替换为离散网格。以一维区间 [0, L] 为例,取空间步长 Δx = L/N,节点 xj = jΔx(j = 0,1,…,N);时间方向取步长 Δt,时刻 tn = nΔt。记 ujn ≈ u(xj, tn)。所有差分格式都在这张网格上定义,网格比 λ = Δt/Δx 或 r = Δt/Δx² 往往直接决定稳定性结论。

导数离散来自 Taylor 展开。对 u(xj±Δx) 在 xj 处展开并组合,可得三种常用空间算子:

  • 一阶中心差分:(uj+1 − uj−1)/(2Δx) = u′ + O(Δx²),二阶精度;
  • 二阶中心差分:(uj+1 − 2uj + uj−1)/Δx² = u″ + O(Δx²),这是热传导方程空间离散的核心;
  • 一阶向前/向后差分:(uj+1 − uj)/Δx 或 (uj − uj−1)/Δx,一阶精度,常用于时间方向或迎风处理。

时间方向同理:向前差分 ut ≈ (ujn+1 − ujn)/Δt 为一阶精度,中心差分 (ujn+1 − ujn−1)/(2Δt) 为二阶精度。选择哪一组算子,就决定了后面要分析的格式形态。

二、截断误差与相容性

把精确解代入差分格式,得到的余项称为截断误差。例如对热传导方程 ut = αuxx 的显式格式,截断误差为 O(Δt) + O(Δx²)。若 Δt、Δx → 0 时截断误差趋于零,则称格式与微分方程相容。相容性回答的是“格式逼近的是不是原方程”,它只涉及局部近似精度,与误差是否随时间增长无关。这一点很关键:一个相容的格式完全可能是不稳定的,因此相容性不能替代稳定性分析。

记忆要点:相容性看“一步像不像”,稳定性看“多步会不会炸”。Lax 等价定理指出,对适定的线性初值问题,相容格式收敛的充要条件是其稳定。

三、半离散与全离散:以两个模型方程为例

热传导方程 ut = αuxx。只离散空间、保留时间连续,得到半离散方程组:

du_j/dt = α (u_{j+1} − 2u_j + u_{j−1}) / Δx²,  j = 1,…,N−1

这是一组常微分方程,可写成 du/dt = A u,矩阵 A 为三对角、对称负定(配合边界条件),其特征值决定了半离散系统的行为。进一步对时间用向前 Euler,得到全离散显式格式:

u_j^{n+1} = u_j^n + r (u_{j+1}^n − 2u_j^n + u_{j−1}^n),  r = αΔt/Δx²

若时间改用向后 Euler,则得到全隐式格式 ujn+1 − r(uj+1n+1 − 2ujn+1 + uj−1n+1) = ujn,每步需解三对角线性方程组。Crank–Nicolson 则对时间取平均,二阶精度、无条件稳定,但需注意其在高频模态上的振荡特性。

波动方程 utt = c²uxx。空间二阶中心差分后,时间用二阶中心差分,得到经典显式格式:

u_j^{n+1} = 2u_j^n − u_j^{n−1} + C² (u_{j+1}^n − 2u_j^n + u_{j−1}^n),  C = cΔt/Δx

这里 C 称为 Courant 数。该格式的稳定性条件为 C ≤ 1,即 Courant–Friedrichs–Lewy 条件,物理含义是数值依赖域必须覆盖解析依赖域。与热传导方程不同,波动方程是双曲型的,其稳定性约束来自“信息传播速度”而非“扩散耗散”。

四、稳定性分析的对象

综合上述例子,稳定性分析的对象可以精确表述为:离散格式的误差传播算子。设 Un 为数值解向量,un 为精确解在网格上的限制,误差 en = Un − un。对线性常系数格式,误差满足与数值解相同的齐次递推 en+1 = G en(单步格式)或相应的多步关系,G 即放大矩阵。稳定性要求存在与 n 无关的常数 K,使 ‖Gn‖ ≤ K 对所有 n 成立。

对半离散系统 du/dt = Au,稳定性对应 A 的特征值实部不超过零(或落在稳定域内);对全离散格式,则要求 Δt 与 Δx 满足特定约束,使 G 的谱半径不超过 1(或一致有界)。这正是后续 von Neumann 分析、矩阵方法和能量方法要处理的核心问题。

从连续方程到稳定性分析对象 连续模型方程 热传导 u_t = αu_xx 波动 u_tt = c²u_xx 网格划分 x_j = jΔx, t^n = nΔt 网格比 r = αΔt/Δx², C = cΔt/Δx 导数离散 中心差分 O(Δx²) 向前/向后差分 O(Δt) 截断误差 局部余项 → 相容性 半离散格式 仅离散空间,时间连续 du/dt = A u(A 为差分矩阵) 稳定性 ← A 的特征值分布 全离散格式 空间 + 时间均离散 显式 / 隐式 / Crank–Nicolson 稳定性 ← 放大矩阵 G 的谱半径 稳定性分析对象:误差传播算子 e^n = U^n − u^n, e^{n+1} = G e^n 要求 ‖G^n‖ ≤ K(与 n 无关),即误差不被放大 热传导显式:r ≤ 1/2 | 波动显式:C ≤ 1 相容性 截断误差 → 0 只保证逼近原方程 不保证误差有界 Lax 等价定理 相容 + 稳定 ⇔ 收敛 稳定性是核心环节

五、一个可操作的判断流程

面对一个具体问题,可按以下顺序落实本节内容。以“α = 0.01、Δx = 0.05、要求显式格式稳定”为例:先由热传导显式格式条件 r = αΔt/Δx² ≤ 1/2 反解 Δt ≤ 0.5Δx²/α = 0.5×0.0025/0.01 = 0.125。若取 Δt = 0.1,则 r = 0.4,满足条件;若取 Δt = 0.2,则 r = 0.8 > 0.5,格式将出现非物理振荡并迅速发散。对波动方程,若 c = 1、Δx = 0.05,则要求 Δt ≤ Δx/c = 0.05,即 C ≤ 1。这些数值均为教学示例,用于说明参数与稳定性条件的对应关系。

需要强调的是,上述条件只对线性常系数、规则网格、特定格式成立。变系数、非均匀网格、边界处理和高维情形都需要重新分析,边界格式甚至可能比内点格式更严格。因此,明确“分析对象是哪一个放大矩阵、在什么范数下、对哪些模态成立”,是进入后续 von Neumann 分析与矩阵稳定性讨论的前提。