考虑一般的 FD隐式时间步进方案
,
其中是感兴趣的向量变量,是一些函数,通常是非线性的。
我们可以使用牛顿法从推进到来求解上述非线性方程。但是,这可能会变得非常昂贵。
如果我们改为,其中表示的雅可比行列式,我们得到时间步长方案
。
谁能告诉我关于这个非常笼统的方案的任何信息,任何参考资料?它叫什么名字?稳定性能?
考虑一般的 FD隐式时间步进方案
,
其中是感兴趣的向量变量,是一些函数,通常是非线性的。
我们可以使用牛顿法从推进到来求解上述非线性方程。但是,这可能会变得非常昂贵。
如果我们改为,其中表示的雅可比行列式,我们得到时间步长方案
。
谁能告诉我关于这个非常笼统的方案的任何信息,任何参考资料?它叫什么名字?稳定性能?
这个特殊的例子通常被称为线性隐式欧拉。它的线性稳定性与非线性隐式欧拉相同,但非线性稳定性可能是一个限制因素,尤其是对于较大的时间步长。您可以在 Ropp、Shadid 和 Ober 2004 中找到一些关于反应扩散系统的讨论。
更正式地说,这是 Rosenbrock 方法的最简单示例。在 Hairer 和 Wanner 的求解常微分方程 II:刚性和微分代数问题中有一个很好的章节,包括一套基准问题的工作精度图。对于大多数问题,Rosenbrock 方法对于中等公差非常有效。对于强非线性问题,完全隐式方法通常需要稍大的时间步长,而当需要非常严格的公差时,极高阶的方法是好的。请注意,还有一些 Rosenbrock-W 方法只需要雅可比矩阵的近似值。
对于软件,您可以从 Hairer 和 Wanner 找到 RODAS Fortran 77 实现。我还在 PETSc 中实现了这一系列方法,如果您使用并行线性代数或稀疏直接求解器,这可能是合适的。为了进行实验,您可以先查看这个用 Python 编写的 ODE 示例,它生成了这个图。您可以使用运行时选项比较不同的方法,例如-ts_type sundials
将生成此图。