目录
拉到文末有惊喜
在数值计算分析领域,刚性(Stiffness) 描述的是在求解微分方程时,由于系统中存在显著不同的时间尺度或空间尺度,导致数值解的稳定性和计算效率出现问题的现象。
刚性一般用于描述包含多个时间尺度的常微分方程(ODE),由于存在多个不同的时间尺度,有的部分变化很快,有的部分变化很慢。这会导致传统的数值方法(如显式欧拉法)需要非常小的步长才能保持数值稳定性。
刚性本身并不是一个数学上严格定义的术语,但它在数值计算及模拟中具有重要的应用意义。其可类比于物理学中的刚体概念。就像刚体对外力会产生瞬时反应一样,刚性方程或系统中的某些部分对变化的响应也极其迅速。
在数值计算与模拟中,刚性的概念一般用于描述方程或系统:
刚性方程(Stiff Equation) 是指数值解只有在时间间隔很小时才会稳定的微分方程。目前很难去精确地去定义哪些微分方程是刚性方程,若此方程式中包含使其快速变动的项,则其为刚性方程。
刚性系统(Stiff System) 通常指由刚性方程描述的系统。刚性系统的动态响应具有多重时间尺度,包括快速衰减或剧烈变化的部分和慢速变化的部分,系统状态变量的变化速率存在显著差异。
刚性系统的特点
刚性系统的特点主要体现在它的动态行为和数值求解的困难性上,尤其是在系统中存在多个不同的时间尺度时表现明显。
刚性系统一般有以下几个特点:
-
多时间尺度:刚性系统通常有一些状态变量变化得非常快,而另一些变量则变化得很慢。这种差异导致在数值求解时,使用标准方法(如欧拉法或普通的 Runge-Kutta 方法)可能会要求非常小的时间步长来保持数值稳定性,从而增加计算成本。
-
数值稳定性问题:在刚性系统中,如果使用较大的步长进行仿真,数值解可能会变得不稳定或发散。为了避免这种情况,常规的求解器会自动减小步长以维持稳定性,但这会导致仿真速度显著降低。
-
需要隐式求解器: 由于刚性系统的数值不稳定性问题,显式求解方法通常效率低或不适用。隐式求解器则更适合刚性系统,因为它们在大步长下仍然能够保持数值稳定性,并且不会因时间尺度差异产生发散问题。
-
快速衰减的特征值: 刚性系统的线性化方程中往往包含非常大的负特征值(特征值实部非常大且为负),对应于系统的快速衰减成分。这些大负特征值会使显式方法需要使用异常小的时间步长来维持数值稳定。
-
物理意义上的刚性: 刚性的物理系统有一个或多个在通常意义上表现为“刚性”的组件,例如具有大弹性系数的弹簧、准不可压缩流体和低电感。此类系统通常在其某些组件或模式中表现出高频振荡。
-
刚性与系统稳定性: 刚性系统通常包含快速衰减的模式,这意味着系统在物理层面上可能是稳定的(快速衰减至稳态),但从数值求解的角度,刚性的使显式方法在求解中表现为不稳定,进而需要隐式方法来解决。
如何判断系统是否为刚性系统
判断一个系统是否是刚性必须要考虑系统的特征值,刚性系统的所有特征值的实部均为负数,并且其中特征值实部绝对值中,最大和最小的比值大于1,该比值也称为刚性比。
刚性比(stiffness ratio)是衡量系统刚性程度的重要指标,定义为:
刚性比最大特征值最小特征值
因此,刚性比越大,系统越刚性,数值求解越困难。
刚性问题的求解
在计算刚性问题时,常见的方法可以分为刚性方法

692

被折叠的 条评论
为什么被折叠?



