刚性 ODE 系统的定义

计算科学 刚性
2021-12-16 21:44:27

考虑 ODE 系统的 IVPy=f(x,y),y(x0)=y0. 最常见的是,当 Jacobi 矩阵时,这个问题被认为是僵硬的fy(x0,y0)具有非常大的负实部特征值和具有非常小的负实部的特征值(我只考虑稳定的情况)。

另一方面,在只有一个方程的情况下,例如 Prothero-Robinson 方程y=λy+g+λg, 称为僵硬时λ1.

所以有两个问题:

  1. 为什么 ODE 系统的刚度定义中包含小特征值?我相信仅存在非常大的负实部就足以使系统变得僵硬,因为这使我们对显式方法使用小时间步长。

  2. 是的,我知道最常见的刚性问题(例如由抛物线偏微分方程引起的)确实具有大特征值和小特征值。所以第二个问题:有没有非常小的特征值(或者具有温和比率的大型刚性系统)的一个很好的自然例子λmax/λmin)?


好的,让我们修改问题。考虑两个二维线性 ODE 系统:第一个具有特征值 {-1000000,-0.00000001},第二个具有 {-1000000,-999999}。至于我,他们俩都很僵硬。但如果我们考虑刚度比定义,则第二个系统不是。主要问题:为什么要考虑刚度比?

问题的第二部分仍然很重要,让我们解释一下:我正在寻找一个“自然”的大型 ODE 系统,它具有大的负特征值和温和的刚度比(例如,不大于 100)。

4个回答

刚度涉及一些尺度的分离。一般来说,如果您对系统中最快模式的相位感兴趣,那么您必须解决它并且系统不会僵硬。但通常,您对“慢流形”的长期动态感兴趣,而不是慢流形的解接近它的精确速率。

化学反应和反应流是刚性系统的常见例子。van der Pol 振荡器是具有可调刚度参数的 ODE 积分器的常见基准问题

海洋是另一个可能有助于形象化的例子。海啸(表面重力波)以飞机的速度传播并产生复杂的波浪结构,但会在很长一段时间内消散,并且对海洋的长期动态几乎没有影响。另一方面,涡流以相当步行的速度行驶约慢 100 倍,但会导致混合和运输温度、盐度和相关的生物地球化学示踪剂。但是传播表面重力波的相同物理也支持涡流(一种准平衡结构),因此涡流速度、科里奥利下的路径和耗散率取决于重力波速度。这为为刚性系统设计的时间积分方案提供了一个机会,可以跨越重力波的时间尺度,并且只解决相关的动态时间尺度。Mousseau、Knoll 和 Reisner (2002)通过比较分裂和完全隐式时间积分方案来讨论这个问题。

相关:什么时候应该在双曲 PDE 积分中使用隐式方法?

请注意,扩散过程通常被认为是刚性的,因为离散系统中最快的时间尺度与网格相关,使用进行缩放,但相关物理场的时间尺度与网格无关。事实上,给定网格的最快时间尺度表示空间局部松弛到较慢的流形,较长的空间尺度在该流形上演化,因此即使在强范数下,隐式方法也可以非常准确,尽管不能解决最快的尺度。(Δx)2

第1部分

小特征值包括在 ODE(初始值问题)系统的刚度定义中。我所知道的刚度没有令人满意的定义,但我遇到的最好的定义是:

如果将具有绝对稳定性的有限区域的数值方法应用于具有任何初始条件的系统,则被迫在某个积分区间内使用相对于该区间内精确解的平滑度而言过小的步长,则称该系统在该区间内是刚性的。(Lambert,JD(1992 年),普通微分系统的数值方法,纽约:Wiley。)

如果保持前向 Euler 方法稳定性所需的步长远小于准确表示解所需的步长,则IVP [初始值问题]在某个区间内是僵硬的。(Ascher, UM 和 Petzold, LP (1998),常微分方程和微分代数方程的计算机方法,费城:SIAM​​。)[0,b]

刚性方程是某些隐式方法,特别是 BDF,比显式方法执行得更好,通常要好得多的方程。(CF Curtiss 和 JO Hirschfelder (1952):刚性方程的积分。PNAS,第 38 卷,第 235-243 页)

关于刚性方程的维基百科文章继续将以下“陈述”归因于兰伯特:

  1. 如果线性常系数系统的所有特征值都具有负实部并且刚度比很大,则该线性常系数系统是刚性的。

  2. 当稳定性要求而不是精度要求限制步长时,就会出现刚度。[请注意,这个“观察”本质上是 Ascher 和 Petzold 的定义。]

  3. 当溶液的某些成分比其他成分衰减得更快时,就会出现刚度。

这些观察中的每一个都有反例(尽管我承认我无法在脑海中产生一个)。

第2部分

可能我能想到的最好的例子是在导致点火的条件下将任何类型的大型燃烧反应系统整合到化学动力学中。方程组在点火之前将是刚性的,然后它将不再是刚性的,因为系统已经通过了初始瞬态。除了点火事件周围,最大与最小特征值的比率不应该很大,尽管除非您设置非常严格的积分容差,否则此类系统往往会混淆僵硬的积分器。

Hairer 和 Wanner 的书还在其第一部分(第 IV 部分,第 1 部分)中给出了其他几个例子,这些例子说明了刚性方程的许多其他例子。(Wanner, G.,Hairer, E.,求解常微分方程 II:刚性和微分代数问题(2002),Springer。)

最后,值得指出的是 CW Gear 的观察:

尽管通常谈论“刚性微分方程”,但方程本身并不刚性,该方程的特定初始值问题在某些区域可能是刚性的,但这些区域的大小取决于初始值容错性。(CW Gear (1982):振动和/或刚性常微分方程的自动检测和处理。在:微分方程的数值积分,数学讲义,第 968 卷,第 190-206 页。)

事实上,杰德布朗已经为我解决了这个问题。我现在所做的只是将他的话放在上下文中。

  1. 上面的两个二维线性 ODE 系统在相对大的时间间隔(例如 [0,1])上都是僵硬的(即难以用显式方法求解)。

  2. 具有大刚度比的线性系统可以被认为是“更刚度”,因为很可能需要在较大的时间间隔内对它们进行积分。这是由于对应于最小特征值的慢分量:解慢慢趋于稳定状态,而这种稳定状态通常很重要。

  3. 另一方面,在大区间上集成具有小刚度比的系统并不有趣:在这种情况下,稳定状态会很快达到,我们可以对其进行推断。

感谢大家的讨论!

单独的特征值的绝对大小(在线性自治问题中)根本没有意义;它是您选择用来表达问题的单位的产物。

评论链正在失控,所以我正在回答这个问题。我不会回答完整的问题;正如我所说,请参阅维基百科或此处的其他答案。我只是回答说

考虑两个二维线性 ODE 系统:第一个具有特征值 {-1000000,-0.00000001},第二个具有 {-1000000,-999999}。至于我,他们俩都很僵硬。但如果我们考虑刚度比定义,则第二个系统不是。主要问题:为什么要考虑刚度比?

好的,让我们考虑第二种情况的示例:

y1(t)=1000000y1(t)
y2(t)=999999y2(t)

现在让我们考虑一个具有不同单位的时间变量:然后微积分揭示了t=1000000t

y1(t)=y1(t)
y2(t)=0.999999y2(t)

注意 1:我选择了一个对角系统以使其完全显而易见,但是如果您尝试使用具有这些特征值的另一个系统,您会看到相同的效果,因为将矩阵乘以常数会使其特征值乘以相同的常数。

注2:我什至没有在这里讨论系统是否僵硬。我只是指出您提出的刚度定义(即的任何问题)没有意义,因为这意味着刚度取决于我选择表达问题的单位。|λ|1