跳转至

第 3 章 数值方法(Numerical Methods)

作者

本章由 Juergen Geiser 独立撰写, 沿用 Ch 2 的"耦合可分解性"判据, 转向可执行算法。本章是 Ch 2 理论与 Ch 4 案例之间的算法桥梁。Geiser 在 2012 年 Comput. Methods Appl. Math. 上的"Multiscale splitting methods for coupled equations" 直接对应 §3.2.2 的"多尺度迭代分裂"算法, §3.1.2 的"时-空迭代分裂"对应 Geiser 2009 J. Comput. Appl. Math. 的迭代高阶分裂。读者预备知识: Ch 2 的算子范数、对易子、条件数、刚性比; 经典多网格 (Hackbusch 1985, Trottenberg 2001); Runge-Kutta, BDF, IMEX, IMEX-RK 等时间离散法; 有限差分 / 体积 / 元的离散化基础。

内容概述

本章目标是把 Ch 2 的判据 "\(\|[A, B]\|\) 决定怎么分" 翻译为可执行算法, 并把"多尺度"嵌入到算法结构中。结构分两半: §3.1 经典方法 (multigrid, iterative splitting, multiresolution wavelet) 与 §3.2 现代方法 (embedded multigrid + HMM 框架 + multiscale iterative splitting)。两半的区分是分辨率代价: 经典方法把细尺度完全解析 (代价线性 \(O(N)\)), 现代方法只解析部分细尺度 (代价超线性 \(O(N^{<1})\))。

§3.1.1 多网格 (multigrid) (3.1–3.12): 标准二网格算法 \(T_{2,l}(\nu_1, \nu_2) = S_l^{\nu_2} M_{l}^{ZG} S_l^{\nu_1}\), 其中 \(M_l^{ZG} = I - p A_{l-1}^{-1} r A_l\) 是粗网格修正。两个关键性质: 逼近性质 \(\|A_l^{-1} - p A_{l-1}^{-1} r\| \le C h_l^2\)光滑性质 \(\|A_l S_l^{\nu_1}\| \le C h_l^{-2} \eta(\nu_1)\), \(\eta \to 0\), 两者相乘给出与网格尺度无关的收敛率 \(\|T_{2,l}(\nu_1, 0)\| \le \chi < 1\)。递归得 V-cycle (\(\gamma=1\)) 与 W-cycle (\(\gamma=2\))。

§3.1.2 迭代分裂 (iterative splitting) (3.13–3.17): 对 \(\partial_t c = A|_\Omega c + B|_\Omega c\) 在时空双重分裂, 时空格点 \((i, j)\) 上的迭代格式给出 \(i\) 阶精度 (Theorem 3.2)。Example 3.5 用刚性算子 \(A = \begin{pmatrix} -1 & 0 \\ 1 & 0 \end{pmatrix}\), \(B = \begin{pmatrix} 0 & 10^4 \\ 0 & -10^4 \end{pmatrix}\) (条件数比 \(10^4\)) 验证: 迭代 10 步给出 \(10^{-4}\) 误差, 20 步达到 \(10^{-14}\) 精度 (BDF3 + Trapezoidal + 10 splitting partitions, Table 3.1)。

§3.1.3 多分辨率 (multiresolution, wavelet) (3.28–3.47): 标准多分辨率分析 \(V_{j+1} = V_j \oplus W_j\), \(\phi_{j,k} = 2^{j/2} \phi(2^j x - k)\), \(\psi_{j,k} = 2^{j/2} \psi(2^j x - k)\)。Example 3.8 用 \(f(x, y) = \exp(-10^3(x^2 + y^2))\) 测试自适应小波; Example 3.9 用 RBF (radial basis function) 预小波解 4D Burgers 方程, 多重网格分块, \(N\) 个子域 \(\times N_m\) 个 RBF 中心。

§3.2 现代方法 (3.48–3.106): 在 HMM (heterogeneous multiscale methods) 与 EFM (equation-free methods) 两个框架中, 选取 HMM — 假定宏观模型已知, 用微观方法算未知宏观系数。作者给出两种实现: (a) 嵌入多网格 (embedded multigrid, §3.2.1), 在迭代分裂的子方程里嵌入多网格; (b) 多尺度迭代分裂 (multiscale iterative splitting, §3.2.2), 把微观-宏观时间步 \(\delta\tau\) vs \(\tau\) 通过 \(R\) (restriction) 与 \(I\) (interpolation) 算子耦合。Theorem 3.10 + 3.12 给出二阶收敛 ( \(\|e_i\| = K \tau_n^2 \|e_{i-2}\| + O(\tau^3)\) )。Example 3.13 用矩阵系统 \(\partial_t c_1 = -A_{11} c_1 + A_{12} c_2\), \(\partial_t c_2 = (1/\epsilon)(A_{21} c_1 - A_{22} c_2)\) 验证: 当 \(\epsilon \to 0\) 时迭代分裂的极限给出 \(c_2 = A_{22}^{-1} A_{21} c_1\), 与 Ch 2 的 averaging 极限完全一致。

核心方程与概念

§3.1.1 多网格框架

椭圆方程 \(-\Delta u = f\), \(u|_{\partial\Omega} = 0\) (3.1), 半离散化得 \(A_l u_l = f_l\), \(l\) 是网格层, \(h_l\) 是网格步长。条件数随网格尺度恶化 \(\kappa(A_l) \approx h_l^{-2}\) (3.4) — 这是单层迭代 (Jacobi, Gauss-Seidel) 收敛慢的根源, 因为大尺度误差要靠"光滑"算子 \(S_l\) 反复松弛到能进入粗网格为止。

二网格算子 (3.5)–(3.6): $$ T_{2,l}(\nu_1, \nu_2) = S_l^{\nu_2} M_l^{ZG} S_l^{\nu_1}, \qquad M_l^{ZG} = I - p A_{l-1}^{-1} r A_l. $$ \(S_l^{\nu_1}\)\(\nu_1\)预光滑 (一般用加权 Jacobi 或 Gauss-Seidel), \(M_l^{ZG}\)粗网格修正 (\(p\) 是 prolongation, \(r\) 是 restriction), \(S_l^{\nu_2}\)\(\nu_2\)后光滑。两性质 (3.7): $$ |T_{2,l}(\nu_1, 0)| \le \underbrace{|A_l^{-1} - p A_{l-1}^{-1} r|}{\text{逼近}} \cdot \underbrace{|A_l S_l^{\nu_1}|} 0. $$ 即}} \le C h_l^2 \cdot C h_l^{-2} \eta(\nu_1) = C \eta(\nu_1) \xrightarrow{\nu_1 \to \infty逼近+光滑相乘吃掉 \(h_l\) 依赖, 收敛率 \(\chi\)\(h_l\) 无关。这是多网格理论的核心引理, 在 Hackbusch 1985 和 Trottenberg et al. 2001 中是标准结果。

多网格 V/W 循环 (3.9)–(3.12): 递归地把 \(A_{l-1}^{-1}\) 替换为 \(M_{l-1}^{MG}\)。V-cycle (\(\gamma=1\)) 是最常见, W-cycle (\(\gamma=2\)) 在不光滑算子下更稳定。算法伪代码见 Algorithm 3.1 (Geiser §3.1.1 完整给出)。

§3.1.2 时空迭代分裂

基准 Cauchy 问题 (3.13): $$ \partial_t c(t) = A|\Omega c(t) + B|\Omega c(t), \quad c(t_n) = c^n, $$ 其中 \(\Omega\) 离散为 \(\Omega_1 \cup \Omega_2\), 时域 \([t_n, t_{n+1}]\) 离散为 \(2n\) 步, 形成时空格点 \((i, j)\)迭代格式 (3.14)–(3.17): $$ \partial_t c_{i,j}(t) = A|{\Omega_1} c(t) + A|{\Omega_2} c(t) + B|{\Omega_1} c(t) + B|{\Omega_2} c(t). \quad (3.14) $$ 四个角点 \((i, j)\), \((i+1, j)\), \((i, j+1)\), \((i+1, j+1)\) 同时求解, 给出时空二维迭代。Theorem 3.2: 迭代 \(i\) 步给出 \(\|e_{i,j}(t)\| \le K \tau_n \|e_{i-1,j-1}(t)\|\), 即一阶收敛

Example 3.5 + Table 3.1: 取刚性算子 \(A = \begin{pmatrix} -1 & 0 \\ 1 & 0 \end{pmatrix}\), \(B = \begin{pmatrix} 0 & 10^4 \\ 0 & -10^4 \end{pmatrix}\) (\(\kappa_B / \kappa_A = 10^4\)), \(T = 1\), \(\lambda_1 = 1\), \(\lambda_2 = 10^4\)。结果显示: 5 步 (1 partition) → \(3.4 \times 10^{-1}\) 误差; 5 步 (10 partitions) → \(3.1 \times 10^{-4}\); 10 步 (10 partitions) → \(1.5 \times 10^{-11}\); 20 步 (10 partitions) → \(2.2 \times 10^{-14}\) (BDF3, \(h = 10^{-2}\))。即在 10 partitions (即子算子 10 次细分) 时达到最优平衡。这与 §2.1.1.1 的"按 CFL 群组化"判据一致。

Remark 3.6 注释: 对"近刚性"方程 (e.g. 输运-反应, transport-reaction), 用 IMEX-Runge-Kutta (implicit-explicit RK) 或 SBDF (stiff BDF) 对粗尺度算子用隐式大步, 对细尺度算子用显式小步。这是 BDF/IMEX 在多尺度耦合系统上的标准扩展 (Ascher-Ruuth-Spiteri 1997)。

§3.1.3 多分辨率 (Wavelet) 方法

\(L^2(\mathbb{R})\) 的多分辨率分解 (3.29): \(\ldots \subset V_{-1} \subset V_0 \subset V_1 \subset \ldots \subset L^2(\mathbb{R}^n)\), 加上正交补 (3.30) \(V_{j+1} = V_j \oplus W_j\)。基函数 (3.32)–(3.33): $$ \phi_{j,k}(x) = 2^{j/2} \phi(2^j x - k), \quad \psi_{j,k}(x) = 2^{j/2} \psi(2^j x - k). $$ 低通/高通滤波器 (3.34)–(3.35): \(\phi(x) = \sum_k 2 h_k \phi(2x - k)\), \(\psi(x) = \sum_k 2 g_k \psi(2x - k)\), 其中 \(\{h_k\}\), \(\{g_k\} \in L^2\)函数分解 (3.36): $$ f(x) = \sum_k \alpha_{j_0, k} \phi_{j_0, k} + \sum_{j \ge j_0} \sum_k \beta_{j, k} \psi_{j, k}, $$ 小波系数 \(\alpha_{j_0, k} = \langle f, \phi_{j_0, k} \rangle\), \(\beta_{j, k} = \langle f, \psi_{j, k} \rangle\)自适应截断 (3.40) 把 \(\beta_{j, k} < \epsilon\) 的细节扔掉, 这是"小波压缩"的数学基础。

Example 3.9 RBF 预小波: 用多二次 RBF (multiquadric RBF) \(\phi_j(x) = (1 + (x - y_i)^2/\sigma_j^2)^\kappa\), \(\kappa \ge -1/2\) 作预小波基, 离散化 4D Burgers 方程 \(\partial_t U + U \cdot \nabla U = 0\), 初始值 \(u_1 = u_2 = u_3 = \exp(x_1 + x_2 + x_3 + x_4 - t)\), \(u_4 = 1 - u_1 - u_2 - u_3\)关键点: RBF 是全局基, 但在远距离衰减到可忽略, 实际计算可限制在子域内 (重叠区域用 weighting function 衔接)。这是 wavelet + DDM 的混合, 与 Ch 4 的 multi-physics 案例自然衔接。

§3.2.1 嵌入多网格

反应-扩散基准 (3.48): \(\partial_t c = A c + B c\), 其中 \(A\) 是细网格算子 (层 \(l_A\)), \(B\) 是粗网格算子 (层 \(l_B\)), \(\rho(A) > \rho(B)\)传统方法用细时间步 (由 \(A\) 决定) 跑整个时间域, 代价高。新方法用粗时间步 \(\Delta t\) 跑迭代分裂, 在子方程上临时加密到 \(\delta t = \Delta t / N\)算法 (3.49)–(3.50): $$ \partial_t c_i(t) = A c_i(t) + P^{l_A \to l_B} B c_{i-1}(t), \quad c_i(t_n) = c^n, \quad (3.49) $$ $$ \partial_t c_{i+1}(t) = R^{l_A \to l_B} A c_i(t) + B c_{i+1}(t), \quad c_{i+1}(t_n) = c^n, \quad (3.50) $$ 其中 $R^{l_A \to l_B} A = $ 限制, $P^{l_A \to l_B} B = $ 延拓。微观时间步 (3.53): $$ c^n_{i, m+1} = c^n_{i, m} + \delta t A c^n_{i, m} + \delta t P^{l_A \to l_B} B c^n_{i-1}, \quad m = 0, \ldots, M. $$ Theorem 3.10: 迭代格式收敛, 收敛率 \(\|e_i\| = K \tau_n \|e_{i-1}\| + O(\tau_n^2)\) (一阶); 两步迭代 \(\|e_{i+1}\| = K_1 \tau_n^2 \|e_{i-1}\| + O(\tau_n^3)\) (二阶)。

证明思路 (Proof 2, 3): 引入乘积空间 \(X^2 = X \times X\), 误差向量 \(E_i(t) = (e_i(t), e_{i+1}(t))^T\), 误差方程化为 $$ \partial_t E_i(t) = \mathcal{A} E_i(t) + F_i(t), \quad E_i(t_n) = 0, \quad (3.59) $$ 其中 \(\mathcal{A} = \begin{pmatrix} A & 0 \\ R^{l_A \to l_B} A & B \end{pmatrix}\)。Variations-of-constants 公式 $$ E_i(t) = \int_{t_n}^t e^{\mathcal{A}(t-s)} F_i(s) ds, \quad (3.60) $$ 再用半群增长估计 \(\|e^{\mathcal{A} t}\| \le K e^{\omega t}\) (3.63), 分 \(\omega \le 0\) (有界半群) 和 \(\omega > 0\) (指数增长) 两种情况, 给出两步迭代二阶的结论。

§3.2.2 多尺度迭代分裂

把 §3.2.1 推广到显式宏观-微观时间步: 宏观 \(\tau\), 微观 \(\delta\tau \le \tau / M\), \(M\) 是中间步数。算法 (3.72)–(3.76): $$ \partial_t c_i(t) = A(c_i(t)) + R(B(c_{i-1}(t))), \quad \text{(macro, 步长 } \tau) \quad (3.72) $$ $$ \partial_t c_{i+1}(t) = I(A(c_i(t))) + B(c_{i+1}(t)), \quad \text{(micro, 步长 } \delta\tau) \quad (3.74) $$ 限制算子 (3.75): \(R(B(c_j)(t_{n+1})) = (1/M) \sum_{k=1}^M B(c_{j, k}(t_{n+1}))\) (微观求平均给宏观)。 插值算子 (3.76): 用线性插值 $$ I(A(c_i)(t)) = A(c(t_n)) + \frac{A(c_i(t_{n+1})) - A(c(t_n))}{c_i(t_{n+1}) - c(t_n)} (c(t) - c(t_n)). $$ Theorem 3.12 给出二阶收敛 \(\|e_{i+1}\| = K_1 \tau_n^2 \|e_{i-1}\| + O(\tau_n^3)\)

Example 3.13 快慢矩阵系统 (3.95)–(3.106): $$ \partial_t c_1 = -A_{11} c_1(t) + A_{12} c_2, \quad \partial_t c_2 = \frac{1}{\epsilon}(A_{21} c_1(t) - A_{22} c_2), $$ \(A_{ij} \in \mathbb{R}^{m \times m}\) 正定, \(0 < \epsilon \ll 1\)极限 \(\epsilon \to 0\): \(c_2 = A_{22}^{-1} A_{21} c_1\), 代入得宏观方程 \(\partial_t c_1 = -A_{11} c_1 + A_{12} A_{22}^{-1} A_{21} c_1\) (3.98)。迭代分裂给出精确极限: \(c_{2, i}(t) = A_{22}^{-1} A_{21} c_1(t)\) (3.106), 与 Ch 2 §2.2.1 averaging 一致。

关键概念总结

# 概念 严格定义 关键来源
1 多网格 (Multigrid) 二网格算子 \(T_{2,l}\) 通过逼近+光滑性质给出 \(\chi < 1\) 收敛 §3.1.1
2 逼近性质 \(\|A_l^{-1} - p A_{l-1}^{-1} r\| \le C h_l^2\) (3.7)
3 光滑性质 \(\|A_l S_l^{\nu_1}\| \le C h_l^{-2} \eta(\nu_1)\), \(\eta \to 0\) (3.7)
4 V/W 循环 \(\gamma = 1\) (V) 或 \(\gamma = 2\) (W) 的递归粗网格修正 (3.11)
5 时空迭代分裂 时空格点 \((i, j)\) 上的四元迭代 (3.14)–(3.17) §3.1.2
6 IMEX / SBDF 隐式大步 + 显式小步的混合时间离散 Remark 3.6
7 多分辨率分析 (MRA) \(V_{j+1} = V_j \oplus W_j\), \(L^2\) 嵌套子空间 (3.29)–(3.30)
8 小波自适应 截断 $ \beta_{j, k}
9 HMM 框架 宏观模型已知, 微观方法算宏观系数 §3.2 intro
10 EFM 框架 宏观模型未知, 微观方法 + coarse-grain 推宏观 §3.2 intro
11 限制 (R) / 延拓 (P) 算子 多尺度耦合: \(R^{l_A \to l_B} A\) 把细网格算子限制到粗网格 (3.51)–(3.52)
12 多尺度迭代分裂 (MSIS) 宏观 \(\tau\) + 微观 \(\delta\tau \le \tau/M\) 的耦合迭代 §3.2.2

关键结论

  • 经典 vs 现代方法的代价分水岭: 经典方法 (multigrid, FD/FV/FE) 解析所有细尺度, 代价 \(O(N)\) 线性; 现代方法 (embedded multigrid, MSIS, HMM) 只解析部分细尺度, 代价超线性 \(O(N^{<1})\)。代价降低来自"细尺度只在需要时才解析" (按窗口 window-of-micro-computations, Fig 3.7)。
  • 多网格的 \(h\)-独立收敛: \(\|T_{2,l}(\nu_1, 0)\| \le \chi < 1\)\(h_l\) 无关, 这意味着多网格是唯一线性代数的"细网格不会变慢"的椭圆求解器。这是 multigrid 在 1980s 后成为 PDE 求解器标配的原因。
  • 时空迭代分裂的 \(i\) 阶精度: Theorem 3.2 给出 \(\|e_{i,j}\| \le K \tau_n \|e_{i-1, j-1}\|\), 即 \(i\) 步迭代给出 \(i\) 阶精度。这意味着:精度与迭代步数同阶, 不必为高阶付出指数代价。但每步代价是子方程求解, 实际上精度-代价曲线是 \(\tau^i\) vs \(i \cdot T_{\mathrm{sub}}\), 仍比高阶单方法 (e.g. RK4, \(\tau^4\) vs 4 子步) 灵活。
  • Example 3.5 的工程意义: 刚性算子 \(A, B\) (条件数 \(10^4\)) 用 10 partitions + 20 步迭代, BDF3, 给出 \(10^{-14}\) 精度 (Table 3.1)。这是工程标准 (e.g. CVD reactor simulation, 输运-反应), 单一 RK4 在同样时间步下会因刚性 blow up, 证明分裂 + BDF 比单一高阶方法更适合多尺度系统
  • HMM vs EFM 的工程选择: HMM 适用于宏观模型已知但系数未知 (e.g. 输运方程的扩散系数由分子动力学算); EFM 适用于宏观模型未知 (e.g. 复杂流体本构关系), 用微观方法 + coarse-grain 反推宏观。Geiser 站在 HMM 一边, EFM 留作未来工作。
  • 多尺度迭代分裂的 \(\epsilon \to 0\) 一致性 (Example 3.13): 迭代分裂的极限 \(c_2 = A_{22}^{-1} A_{21} c_1\) 与 Ch 2 averaging 的极限完全一致。这给出 §2.2.1 理论到 §3.2.2 算法的闭合验证
  • 限制 \(R\) 与延拓 \(P\) 的尺度桥: \(R^{l_A \to l_B}\)\(P^{l_A \to l_B}\) 是多尺度方法的"度量"基础。这与 Ch 1 §1.2.4 "用细尺度信息更新粗尺度参数" 的工程直觉一致, 但作者用算子而非"参数" 给出, 是更数学化的形式。
  • 二阶收敛来自两步迭代 (Theorem 3.10/3.12): \(\|e_{i+1}\| = K_1 \tau_n^2 \|e_{i-1}\| + O(\tau^3)\)。这与 Lie-Trotter (一阶) 和 Strang (二阶, 但需对称分裂) 形成对照, 迭代分裂在不要求对称的前提下达到二阶, 这是 Geiser 算法在工程上的优势。

挑战和开放性问题

  • 多网格对非椭圆算子的退化: §3.1.1 假设 \(-\Delta u = f\) 椭圆。输运-反应方程 (对流算子主导) 在高 Peclet 数下, 标准的加权 Jacobi / Gauss-Seidel 光滑不再有效, 必须用 ILU 光滑line-Gauss-SeidelBey-Wittum 等专门方法。作者跳过了这一节, Ch 4 的输运案例应当给出退化对策。
  • 时空迭代分裂的网格各向异性: §3.1.2 假设时空网格均匀, 对长方形时空域 (e.g. 多物理-多时间步耦合) 不适用。实际工程中宏观时间步 \(\tau\) 与微观时间步 \(\delta\tau\) 的比例 \(M\) 应当是自适应而非固定, Ch 3 没给出自适应准则。
  • Table 3.1 的 10 partitions 经验值: 这是经验最优, 缺理论保证。理论上的最优 partitions 应当与 \(\lambda_2 / \lambda_1 = 10^4\) 的对数 \(\log_{10} \lambda_2 / \lambda_1 = 4\) 相当 (或 \(\log_2\)), 但作者没明示。
  • HMM 与 EFM 的边界: §3.2 给出两框架, 但什么时候用 EFM 更优作者没给判据。EFM 在宏观模型不可推导时 (e.g. 软物质、生物大分子) 不可替代, 但其 coarse-grain 误差没有定量上界, 工程上几乎是"trust but verify"。
  • 小波方法的二维以上推广: §3.1.3 主要给 1D 与 4D 的例子, 2D-3D 的 wavelet PDE solver 缺少 Ch 6 (软件) 的支持, Geiser 在 Ch 6 是否给 MATLAB 代码未知。RBF 在 2D-3D 的形状参数 \(\sigma\) 选择是 ill-posed 问题 (Fasshauer 2007), 实际工程用 cross-validation 选, 没有解析公式。
  • Theorem 3.10/3.12 的 "\(\omega\) 半群" 假设: \(\omega \le 0\) (有界或指数稳定半群) 是工程常用, 但对输运-反应-扩散系统, 在某些参数下 (大 Peclet 数, 大反应系数) \(\omega > 0\), 此时两步迭代的二阶收敛退化。Ch 3 没给 \(\omega > 0\) 情况的替代定理。
  • 多尺度迭代分裂的"反向限制": §3.2.2 给出宏观→微观 (\(I\)) 和微观→宏观 (\(R\)) 算子, 但\(I\) 在非线性算子下的相容性没说。Example 3.5 是线性的, Example 3.13 也是线性的, Ch 4 的非线性案例 (plasma, mechatronics) 必须自己推导。
  • Example 3.9 RBF 预小波与 Ch 6 软件的 gap: RBF + 4D Burgers + DDM 的完整 MATLAB 实现是大型项目, Ch 6 是否真给了完整代码存疑。如果只给了 1D 或 2D 例子, Ch 4 案例的 4D 实现就成"伪命题"。

个人反思与批判性分析

本章是 Geiser 框架从"理论"到"算法"的关键过渡, 三个贡献值得专门指出, 三个缺口也值得专门指出。

三个贡献

(1) 把 Ch 2 的"判据"翻译为"算法选择表": §3.1 给出三种经典方法 (multigrid / iterative splitting / wavelet), §3.2 给出两种现代方法 (embedded multigrid / multiscale iterative splitting)。这五种方法构成判据→算法的对应表: 严格可分 (\(\kappa_A \approx \kappa_B\)) → multigrid + Lie-Trotter; 弱可分 (\(\kappa_A \gg \kappa_B\)) → iterative splitting + 多时间步; 多尺度 (\(\epsilon\) 显式存在) → MSIS + HMM; 非结构化 → wavelet + RBF。这个对应表是 Ch 1 "decomposition/splitting" 思想的算法落地。

(2) Example 3.5 数值实证: 刚性算子 \(A, B\) 条件数 \(10^4\) 用 10 partitions + 20 步 + BDF3 给出 \(10^{-14}\) 精度。这是工程上罕见的精度水平, 证明迭代分裂对刚性算子的有效性。Geiser 在 2009 J. Comput. Appl. Math. 的工作有类似 benchmark, 本章是其在教科书中的完整呈现。

(3) Theorem 3.10/3.12 二阶收敛: 不要求对称分裂, 通过两步迭代达到 \(O(\tau^2)\) 精度。这是 Geiser 算法的理论核心, 区别于 Strang 对称分裂 (要求 \([A, B]\) 小, 且分裂必须对称)。在工程中, 对称分裂的"对称"约束 (e.g. 流-固耦合的 1/2-1/2 切分) 经常不可执行, Geiser 的两步迭代是更实用的替代。

三个缺口

(1) 多网格对非椭圆算子的退化: §3.1.1 完全集中在椭圆 \(-\Delta u = f\), 对输运主导方程 (高 Peclet 数) 没说, 这是 Ch 4 transport-reaction 案例必须解决的。标准对策: upwind FD, streamline-diffusion, ILU 光滑, line Jacobi, 等等, 作者跳过。

(2) 时空迭代分裂与"几何多重网格" 的区分: §3.1.2 把"时间"和"空间"同时作为分裂维度, 但没有说明代数多重网格 (AMG) 与 §3.1.1 的几何多重网格 (GMG) 的差异。AMG 在 Ch 4 的非结构网格中不可或缺, Geiser 完全跳过了 AMG, 是缺漏。

(3) Theorem 3.10/3.12 的 "\(\omega \le 0\)" 假设是工程死角: 对实际多物理-多尺度问题 (流-固, 电磁-热), 算子 \(\mathcal{A}\) 几乎总是 \(\omega > 0\) (半群指数增长), 此时 Theorem 3.10/3.12 的二阶收敛退化。Geiser 在证明中分 \(\omega \le 0\)\(\omega > 0\) 两种情况, 但\(\omega > 0\), 给出的是 \(K_\omega(t) = K/\omega (e^{\omega \tau_n} - 1) = K \tau_n + O(\tau_n^2)\), 这比二阶差, 实际上退化为一阶。作者没有给出 \(\omega > 0\) 情况下的替代二阶格式。Ch 4 的工程案例 (尤其 §4.6, 4.7 的非线性 case) 必须在 \(\omega > 0\) 下用, 这就是 Geiser 框架的工程死角

与同类书的对照

  • Hackbusch (1985) Multigrid Methods and Applications: 多网格的经典专著, 详细给出逼近+光滑性质的证明。Geiser §3.1.1 是 Hackbusch 的摘要重写, 加了 V/W 循环的算法伪代码。
  • Trottenberg, Oosterlee, Schüller (2001) Multigrid: 现代多网格教材, 含 AMG。Geiser 没提 AMG。
  • Hundsdorfer-Verwer (2003): 算子分裂 + ADR 方程, 给出 Lie-Trotter, Strang, IMEX 的收敛性。Geiser §3.1.2 / 3.2.1 / 3.2.2 是其多尺度推广, 加了"宏观-微观时间步"层。
  • Ascher-Ruuth-Spiteri (1997): IMEX-RK 的原始论文, Geiser 在 Remark 3.6 引用。
  • E-Engquist (2003) HMM: HMM 框架的原文, Geiser 在 §3.2 引用并采用, 但没给 HMM 的 cell problem 求解细节 (这是 HMM 实际工程中最大的难点)。
  • Kevrekidis et al. (2003) EFM: Equation-Free 框架原文, Geiser 引用, 但不深入 EFM

适合做哪些后续工作

  • 重读 Ch 4 看 §3 的算法在工程中如何实现: Ch 4 的 10 个案例 (transport-reaction, plasma, mechatronics, bio) 是 §3 算法的实战检验。每个案例都应标"这个用 multigrid" + "这个用 MSIS" + "这个用 HMM"。
  • 尝试把 Geiser §3.2 与 HMM cell problem 结合: Geiser §3.2 给算法骨架, 但 HMM 的 cell problem (从微观方法求宏观系数) 的具体实现没说。补充这一点, 可以得到完整多尺度框架。
  • \(\omega > 0\) 情况下扩展 Theorem 3.10: 给出带稳定化项的二阶格式 (e.g. 加上投影算子 \(P\)\(\mathcal{A}\) 的不稳定部分投影到 \(\omega \le 0\) 子空间), 是 Geiser 框架的工程化方向。

重要参考文献

[X1] Geiser, J. Coupled Systems: Theory, Models, and Applications in Engineering. Chapman & Hall/CRC, 2014. (本章 §3 完整内容.) [X2] Hackbusch, W. Multi-Grid Methods and Applications. Springer Series in Computational Mathematics, vol. 4, 1985. DOI: 10.1007/978-3-662-02427-0. (多网格的经典专著, §3.1.1 的标准参考.) [X3] Trottenberg, U.; Oosterlee, C. W.; Schüller, A. Multigrid. Academic Press, 2001. ISBN 978-0-12-701070-0. (现代多网格教材.) [X4] Hundsdorfer, W.; Verwer, J. G. Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations. Springer, 2003. DOI: 10.1007/978-3-662-09017-6. (算子分裂在 ADR 上的标准, §3.1.2 引用.) [X5] Strang, G. On the construction and comparison of difference schemes. SIAM Journal on Numerical Analysis 1968, 5(3), 506-517. (Lie-Trotter / Strang 分裂.) [X6] E, W.; Engquist, B. The heterogeneous multiscale methods. Communications in Mathematical Sciences 2003, 1(1), 87-132. DOI: 10.4310/CMS.2003.v1.n1.a8. (HMM 原文, §3.2 引用.) [X7] Kevrekidis, I. G.; Gear, C. W.; Hyman, J. M.; Kevrekidis, P. G.; Runborg, O.; Theodoropoulos, C. Equation-free, coarse-grained multiscale computation: Enabling microscopic simulators to perform system-level tasks. Communications in Mathematical Sciences 2003, 1(4), 715-762. DOI: 10.4310/CMS.2003.1.4.715. (EFM 原文.) [X8] Ascher, U. M.; Ruuth, S. J.; Spiteri, R. J. Implicit-explicit Runge-Kutta methods for time-dependent partial differential equations. Applied Numerical Mathematics 1997, 25(2-3), 151-167. DOI: 10.1016/S0168-9274(97)00056-1. (IMEX-RK 原文, Remark 3.6 引用.) [X9] Geiser, J. Iterative operator-splitting methods with higher-order time-integration methods and applications for parabolic equations. Journal of Computational and Applied Mathematics 2009, 217(1), 70-85. DOI: 10.1016/j.cam.2007.06.024. (作者 §3.1.2 的原始工作.) [X10] Geiser, J. Multiscale splitting methods for coupled equations. Computational Methods in Applied Mathematics 2012, 12(3), 317-337. DOI: 10.1515/cmam-2012-0011. (作者 §3.2.2 的原始工作.) [X11] Geiser, J. Iterative operator-splitting methods with embedded multigrid methods. In: Proceedings of the ASME 2010 International Mechanical Engineering Congress & Exposition, 2010, pp. 461-470. DOI: 10.1115/IMECE2010-38453. (作者 §3.2.1 的原始工作.) [X12] Daubechies, I. Ten Lectures on Wavelets. SIAM, 1992. ISBN 978-0-89871-274-2. (小波理论经典, §3.1.3 的标准参考.) [X13] Fasshauer, G. E. Meshfree Approximation Methods with MATLAB. World Scientific, 2007. (RBF 方法专著, §3.1.3 RBF 部分的标准参考.) [X14] Brenner, S. C.; Scott, L. R. The Mathematical Theory of Finite Element Methods. Springer, 3rd ed., 2008. DOI: 10.1007/978-0-387-75934-0. (有限元标准参考, 与 §3.1.1 配合.) [X15] Pazy, A. Semigroups of Linear Operators and Applications to Partial Differential Equations. Springer, 1983. DOI: 10.1007/978-1-4612-5561-1. (半群理论经典, Theorem 3.10/3.12 证明所用 \(C_0\)-半群与增长估计 \(\|e^{At}\| \le K e^{\omega t}\) 的标准来源.)