数值守恒律
数值守恒律是计算数学中研究如何通过数值方法保持物理量守恒性质的重要分支,广泛应用于流体力学、天体物理等领域。下面逐步展开讲解:
1. 守恒律的数学基础
守恒律描述物理量(如质量、动量、能量)在封闭系统中的守恒性质,其一般形式为偏微分方程:
\[\frac{\partial \mathbf{u}}{\partial t} + \nabla \cdot \mathbf{F}(\mathbf{u}) = 0, \]
其中 \(\mathbf{u}\) 是守恒变量(如密度、速度),\(\mathbf{F}\) 是通量函数。例如,一维欧拉方程中,\(\mathbf{u} = (\rho, \rho u, E)^\top\),\(\rho\) 为密度,\(u\) 为速度,\(E\) 为总能量。
关键点:
- 守恒律的积分形式(如 \(\frac{d}{dt} \int_\Omega \mathbf{u} \, dx = -\oint_{\partial \Omega} \mathbf{F} \cdot \mathbf{n} \, ds\))更直接体现物理量的全局守恒。
- 若数值方法离散后仍满足类似的积分守恒,则称为守恒型格式。
2. 守恒型离散方法的核心思想
数值方法需在离散层面保持通量平衡。以一维问题为例,对空间区间 \([x_{i-1/2}, x_{i+1/2}]\) 积分守恒律:
\[\frac{d \bar{\mathbf{u}}_i}{dt} + \frac{1}{\Delta x} \left[ \mathbf{F}_{i+1/2} - \mathbf{F}_{i-1/2} \right] = 0, \]
其中 \(\bar{\mathbf{u}}_i\) 是单元平均,\(\mathbf{F}_{i\pm1/2}\) 是数值通量。
守恒型格式的要求:
- 数值通量 \(\mathbf{F}_{i+1/2}\) 必须满足连续性(如 \(\mathbf{F}_{i+1/2} = \mathbf{F}(\mathbf{u}_i, \mathbf{u}_{i+1})\)),且当 \(\mathbf{u}_i = \mathbf{u}_{i+1}\) 时退化为物理通量 \(\mathbf{F}(\mathbf{u})\)。
- 例如Lax-Friedrichs通量:
\[\mathbf{F}_{i+1/2} = \frac{1}{2} \left[ \mathbf{F}(\mathbf{u}_i) + \mathbf{F}(\mathbf{u}_{i+1}) - \alpha (\mathbf{u}_{i+1} - \mathbf{u}_i) \right], \]
其中 \(\alpha\) 为耗散系数,用于抑制数值振荡。
3. 守恒性的重要性
- 激波捕捉:非守恒格式可能错误计算激波速度(如Rankine-Hugoniot条件不满足)。
- 全局守恒:守恒格式保证计算域内总质量、能量等随时间变化的误差仅由边界通量引起,内部离散误差相互抵消。
- 典型例子:有限体积法(FVM)天然满足守恒性,因其直接离散积分形式。
4. 挑战与进阶技术
- 高分辨率格式:单纯守恒性可能不足以抑制数值振荡,需结合通量限制器(如minmod、superbee)或WENO格式,在激波附近降低阶数以避免非物理振荡。
- 保正性:某些物理量(如密度)需保持正值,需设计特殊通量(如Harten修正)。
- 多维度扩展:通过通量分裂(如Riemann求解器)处理多维问题,确保每个方向守恒。
5. 实际应用中的验证
- 守恒误差检验:计算域内总守恒量随时间的变化,理想情况下应仅由边界条件贡献。
- 经典测试案例:Sod激波管问题中,守恒格式能精确捕捉激波位置和密度间断。
总结:数值守恒律通过离散通量平衡保持物理本质,是计算流体力学等高精度模拟的基石。后续可进一步学习通量限制器设计或非结构网格上的守恒格式。