导读:CFL(Courant-Friedrichs-Lewy)条件是 CFD 的第一戒律。它既是数值稳定性定理,也是一条物理常识:数值依赖域必须包含物理依赖域。
物理图像
双曲方程的信息以波速 $c$ 传播。显式格式的数值信息每步只传播一个网格。若 $c\Delta t > \Delta x$,物理扰动在一个时间步内跨过了数值格式「看不见」的区域,解必然出错。
这就是 CFL 条件 $\mathrm{CFL} = c\Delta t/\Delta x \le 1$ 的本质:让数值依赖域包含物理依赖域。
多维与隐式情形
多维时 CFL 按各方向分别计算取最严:$\mathrm{CFL}_x + \mathrm{CFL}_y \le 1$(对部分格式)。隐式格式不受此限,但精度分析仍建议 CFL 不过大,否则时间离散误差主导。
网格非均匀时,用局部最小网格尺寸计算 CFL——这是初学者最常翻车的地方。
工程实践
定常问题常用局部时间步长(各点按当地 CFL 取步长)加速收敛;非定常问题必须全局统一时间步。二者不可混淆。
常见误区
- 在加密网格后忘记重算时间步,导致原本收敛的算例突然发散。
- 把「隐式稳定」理解为「任意大步长仍精确」。
吃透自检
- 能从截断分析或依赖域两条路径分别推出 CFL 条件
- 能处理非均匀网格下的局部 CFL 计算
- 能区分定常与非定常问题的时间步策略