DG 从显式到隐式 SSP Runge-Kutta 时间离散化

计算科学 隐式方法 显式方法
2021-12-24 11:50:49

在 Hesthaven 的书(节点间断 Galerkin 方法)中,他使用了显式的 SSP Runge-Kutta 时间方法。

如何将显式 RK 更改为隐式 RK?

1个回答

您不能仅仅将显式 RK 方案调整为隐式方案,隐式例程涉及更多,因为每个中间斜率都可能依赖于“未来”的斜率。这引入了一个(可能是非线性的)方程系统,需要在每个 RK 步骤中求解。这在您上面发布的显式方法中找不到。

如果通过“调整”此例程,您愿意考虑为隐式 RK 方法所需的方程组添加求解器,那么我会说是的,可以调整您的例程。话虽如此,出于这个原因,隐式方法比显式方法涉及更多,我要提醒您,这不是一个小的调整。

一个好的起点是研究如何解决刚性 ODE。我建议您实现自己版本的简单隐式方法来解决测试问题,然后亲自看看 Hesthaven 实现的显式方法如何扩展为隐式解决。

编辑:当我学习显式和隐式 RK 方法时,我发现 Hairer 的教科书非常有帮助:

Hairer,求解常微分方程 I 和 II

第一个是显式方法,第二个是隐式方法 - 两者都包含用于比较您自己的代码的示例。

此外,如果您想了解我如何实现一些显式和隐式 RK 方法,请查看我用 Fortran 编写的 github 项目:github.com/cbcoutinho/generic_rk