odes 的刚度比演变

计算科学 刚性
2021-12-23 11:18:01

我有一个与计算一组耦合颂歌在一定时间间隔内的刚度比演变有关的一般查询。我的问题是,在从雅可比矩阵计算特征值时,我们是否需要知道不同时间点的确切解,还是可以使用通过积分方法近似的解?

2个回答

针对与此处相关的另一个问题,我对刚度发表了许多评论;我不会在这里完整地重复它们。最重要的一点是刚度比仅与刚度相关,而不是刚度的定义。因此,基于精确解计算雅可比矩阵的特征值似乎并不重要;计算一个合理准确的近似解的近似特征值(例如,通过提供特征值估计的 Krylov 子空间方法,如 GMRES),然后计算刚度比可能适合诊断目的。

如果您可以计算必要的数据,另一个可行的标准是将积分器在每次迭代结束时采用的时间步长与它可能采用的最大稳定时间步长进行比较。如果稳定性限制了时间步长而不是准确性,那么您的系统可能很僵硬。(同样,这种行为往往发生在僵硬的系统中,但这不是一个定义。)

正如 Geoff 所说,刚度的定义和使用比数学更实用。定义它的一个很好的实用方法是,一个僵硬的问题是一个简单的显式(即龙格-库塔)方法需要一个非常小的时间步才能稳定的问题,因此您的模拟似乎永远不会完成。看到这一点的一种方法是雅可比的特征值是否很大,但如果您不能用肉眼判断,只需使用自适应龙格-库塔方法(即 ode45)运行模拟。如果它一直持续并且似乎卡住了,那意味着你必须转向一个僵硬的求解器(通常更多的工作)。

[如果您没有简单的自适应方法来实现,只需尝试具有一些合理步长的 Runge-Kutta 方法。如果解决方案不断爆炸,它是不稳定的,这意味着去隐式方法]。