热方程在空间中用 FV(或 FEM)离散化,得到一个半离散方程(ODE 系统)。这种方法,称为线方法,允许轻松地从一种时间离散化切换到另一种时间离散化,而无需重复代码。特别是,您可以毫不费力地为 ODE 重用任何时间积分器。这非常方便,因为如果您决定将空间离散化从 FV 更改为 FE,您仍然会得到一个半离散方程,并且您的时间积分器仍然可以工作。
现在我正在尝试为同样的问题实现rothe 的方法。然而,时间离散化首先迫使我为我可能想要使用的每个时间离散化方案重写空间离散化。这消除了我以前拥有的时间积分器的重用,并且使得编写可以使用线方法或 Rothe 方法离散化 PDE 的模块化软件变得非常复杂。
有没有一种方法可以实现这两种方法,而无需重复代码?
编辑:
在对流主导的问题中,有限元离散化需要时间和空间上的稳定,使得 Rothe 方法成为“最佳”选择。但是,FV/DG 方法并非如此。
线法中,偏微分方程先在空间离散,后在时间离散。在 Rothe 的方法中,PDE 先在时间上离散,然后在空间上。第三种可能性是同时在空间和时间上离散化(也称为时空离散化)。可以在这里找到关于线条方法和 Rothe 方法的讨论。有关更多信息,来自 Donea 和 Huerta 的“Finite Element Methods for Flow Problems”一书是一个很好的资源。