我最近编写了一个代码,该代码使用时间和空间的高阶方法解决了 Navier-Stokes 方程的不可压缩/低马赫数公式。我的导师坚持让我使用三阶龙格-库塔法。但是,我发现它不适合我们当前的问题。
在不可压缩求解器中,必须求解压力的泊松方程,这非常耗费 CPU 时间并且通常是此类求解器的瓶颈(对于低马赫数问题,燃烧也可能是瓶颈)。当使用 RK 方法时,必须在每个 RK 步求解泊松方程,这不是有效的。因此,我认为使用标准的顺序向后差分方法可能更适合我们的情况。
据我所知,Runge-Kutta 方法的主要优点是它们实现起来相对简单、自启动且非常稳定。就我而言,只有最后一个是重要的。
我不知道的 RK 方法还有其他优点吗?顺序向后差分方法,我会失去很多准确性/稳定性吗?此外,正如本文所述,我已经证明空间离散化错误可能是我的模拟人生中的主要错误,因此决定了我的代码的全局准确性。