直线法能否直接用于求解 ODE 的稳态值?

计算科学 pde 线法
2021-12-05 20:01:53

假设我们有一个离散的两个 PDE 的耦合非线性系统,以给出一个近似于原始系统的 ODE 系统, 其中是具有与系统中离散点相同数量的元素的解变量向量。是一个向量,它取决于 PDE 的离散方式。

ut=F1(t,u,v)vt=F2(t,u,v)
u=[u1uN]Tv=[v1vN]TF

当偏微分方程以这种半离散形式保留时(即瞬态项未离散化),它们可以使用传统的 ODE 求解器来求解,这种技术被称为线法(MOL)。

通常,ODE 求解器可用于及时将系统向前推进,直到所需时间点或系统达到稳态。但是,MOL 技术可以直接用于求解稳态值吗?

ODE 求解器内部将计算雅可比行列式并使用牛顿法求解系统,这些是直接求解系统稳态的先决条件。因此,它似乎拥有这样做的所有必要信息。此外,为了解决上述稳态系统,可以应用牛顿法,但将瞬态项设置为零,

0=F1(t,u,v)0=F2(t,u,v)

有没有办法用 MOL 求解器(例如在 MATLAB 或 Python 中)来做到这一点?

1个回答

如果保证解决方案进入稳定状态,则可以始终将时间步长方法视为稳定状态问题的迭代求解器。这里有几个方面:

  1. 如果时间步长方案是隐式且足够稳定的,您可以在接近极限时增加时间步长。这通常被称为伪时间步长,可以被认为是用于求解非线性系统的牛顿方法的稳定性。如果存在多个稳定状态并且您希望保持接近初始值,这可能是必要的。

  2. 如果时间步长方案是明确的,它相当于一个缺陷校正方案,形式为 其中阻尼参数对应于时间步长。如果问题不严重,这可能会很好地工作。对于僵硬的问题,时间步将非常小,您将需要非常多的迭代。

    x(k+1)=x(k)ωF(x(k)),
    ω

在这两种情况下,都有更有效的方法,具体取决于您解决的实际系统。特别是,如果具有全球化的牛顿方法收敛到所需的解决方案,它将快几个数量级。