斜激波的数值模拟,还是用 Matlab 顺手。bthma.m这个文件看着像是主力选手,前、求解、后一把抓,写得挺工整的。结构清晰,注释也算友好,新手读起来不费劲。

用 Matlab 做这种模拟,不少人头疼边界条件和激波角的计算。其实这项目里已经帮你打好了地基,关键步骤全都铺上了。比如网格划分、马赫数计算,甚至可视化部分也没缺,像plotcontourf都安排上了,调试起来还挺方便。

激波模拟讲究稳定性,这里用了比较靠谱的数值方法。虽然没明确说是Euler还是有限体积法,但逻辑上看是那一挂的。时间推进也用的是传统的迭代解法,稳定性不错,收敛也快。

如果你之前接触过类似的流体模拟项目,那你应该挺容易就上手。建议对照文献,研究下激波角和马赫数的关系,对你调整参数有。需要了解理论的话,可以看看CFD 仿真在流体力学中的应用那篇文章。

哦对了,别忘了看license.txt,免得用到后期才发现有使用限制。如果你有点 Matlab 基础,又想了解高超声速下的斜激波情况,这套代码还挺适合入手的。