五阶WENO格式在MATLAB中的实现

2023-03-29

五阶WENO格式在MATLAB中的实现

简介

本仓库提供了李新亮老师的CFD(计算流体力学)课程大作业资源,专注于实现五阶精度的Weighted Essentially Non-Oscillatory (WENO) 格式,结合三阶Runge-Kutta时间积分方法。WENO格式因其在保持高分辨率的同时能有效抑制数值震荡而在CFD领域得到广泛应用,特别适合于解决含有激波或尖锐前沿的流体问题。

文件说明

此仓库的核心内容是MATLAB程序,旨在演示如何在模拟流体动力学问题时,采用高级数值技术。具体包括:

  • WENO格式:一种先进的有限差分技术,能够以高阶精度捕捉到解的非线性特征,尤其是在解中含有 discontinuities (如激波)的情况下。

  • 三阶Runge-Kutta方法:用于时间推进,这是一种高效且稳定的多步时间积分法,确保了求解过程的时间稳定性,并与空间上的WENO格式相结合,提供了一种全面的高精度求解方案。

使用指南

  1. 环境要求:需要MATLAB软件支持,建议使用较新版本以获得最佳兼容性和性能。
  2. 运行代码:打开提供的MATLAB脚本,根据注释和初始化设置调整参数,如需模拟特定的流体问题,可能需要修改边界条件、初始条件等。
  3. 理解原理:强烈推荐先学习WENO格式及Runge-Kutta时间积分的基本理论,以便更好地理解和利用此代码。
  4. 结果分析:执行完成后,会生成数值解,用户可以通过图形或者数据输出来分析模拟的结果。

注意事项

  • 请在使用前确认您的MATLAB环境已正确配置,无其他库依赖。
  • 代码中的注释是理解算法的关键,请仔细阅读以辅助学习和研究。
  • 由于此代码主要用于教育目的,对于复杂的真实世界问题,可能需要进一步优化和定制。

致谢

感谢李新亮老师以及贡献此资源的所有人,通过本项目的学习,用户将加深对高阶数值方法的理解,并掌握将其应用于CFD问题解决的基础能力。

开源贡献

欢迎对代码进行研究并提出改进建议。如果在使用过程中发现任何bug或有改进意见,请通过仓库的Issue功能提出。


开始你的高精度CFD探索之旅,希望这个资源能成为你学习路上的有力工具。

下载链接

五阶WENO格式在MATLAB中的实现