解决问题的灵感,来自一个意想不到的方向:
彩色电视机的信号处理算法。
在航天防护项目期间,温卿参与过彩色电视解码电路的优化。
当时的难题是如何从复合视频信号中,干净地分离出色度信号和亮度信号——
两者频带重叠,分离不好会导致色彩串扰和图像模糊。
工程团队采用了一种“自适应滤波”算法:
不是用固定的滤波器,而是根据信号特性动态调整滤波参数。
在信号平稳时用锐利滤波器提高清晰度,在信号突变时用平滑滤波器抑制噪声。
温卿突然想到:
冲击波不也是信号的“突变”吗?
在冲击波附近,物理量剧烈变化,需要平滑处理保证稳定;
在平滑区域,需要锐利处理保持精度。
为什么不把自适应滤波的思想,用到数值算法中?
她立刻开始推导。
传统的Godunov格式是“一视同仁”的——整个计算区域用同一种通量计算方法。
她要设计的是“自适应Godunov格式”:
在识别出冲击波区域时,自动切换到更耗散但更稳定的算法;
在平滑区域,切换到更精确但更敏感的算法。
关键是如何“识别”冲击波。
温卿想到了一个简单的判据:
相邻格子间物理量的梯度。
梯度大的地方,可能是冲击波;
梯度小的地方,是平滑区域。
但梯度阈值怎么定?
设得太低,会把正常变化误判为冲击波,导致过度平滑;
设得太高,会漏掉弱冲击波。
温卿从记忆碎片中找到一个概念:
“特征值分析”。在双曲型方程中,信息沿着特征线传播。
冲击波对应的是特征线汇聚的区域。
通过分析方程的特征值,可以更精确地识别冲击波的位置和强度。
这个方法的计算量不大,但需要深入理解方程的数学结构。
温卿花了一周时间,重新推导了内爆控制方程组的特征系统。