在哪里可以找到解决抛物线偏微分方程的几种方法的稳定性的良好参考?


10

现在,我有一个使用Crank-Nicholson算法的代码,但是我认为我想转向更高阶的算法以进行时间步长。我知道Crank-Nicholson算法在我想工作的领域中是稳定的,但我担心某些其他算法可能不是。

我知道如何计算算法的稳定区域,但这可能有点麻烦。有人知道抛物线偏微分方程的大量时间步长算法的稳定性吗?

Answers:



10

非常简短的答案:要获得全面的参考,您无法击败Hairer和Wanner的第二册

简短的答案:这是一些MATLAB脚本,可在给定系数的情况下绘制线性多步法Runge-Kutta方法的稳定性区域。您还可以使用Python程序包nodepy(免责声明:这是我的程序包,它不是最精致的软件,但是绘制稳定性区域是一件非常好的事情)。绘制稳定区域的说明在此处

更长的答案:您可能对三种方法感兴趣。

  • A -stable方法,其中复平面的所有左半部分都位于稳定区域中。最著名的示例是后向Euler(一阶)和隐式梯形方法(Crank-Nicholson使用的方法)。对于这些方法,您无需了解稳定区域的详细信息;只要空间离散化的特征值位于左半平面,您将具有无条件的稳定性(无步长限制)。由于第二道达尔奎斯特壁垒,如果要获得高阶和,则必须使用Runge-Kutta方法 AA-稳定性。这样的方法的一些例子是高斯-勒让德勒,拉道和洛巴托方法。所有这些都是完全隐式的,因此相当昂贵。

  • A(α)方法,该方法在左半平面中包括一个扇区,其中包括所有负实轴。其中最突出的是向后微分(BDF)方法和一种称为“数值微分公式”的变体,它们在MATLAB的中实现。只要您空间离散化的特征值位于该扇区中,这些变量就无条件稳定,因此,您唯一需要了解的稳定区域就是角度,您可以在ODE求解器的任何参考文献中找到它(例如,LeVeque第175 )。 αode15s()α

  • 显式方法,必须在负实轴上仅包含有限间隔。有特殊的“稳定”显式方法(尤其是Runge-Kutta-Chebyshev方法),它们具有较大的负实轴稳定性区域,并且适合于轻度刚性问题,但通常不适用于抛物线问题。本文文献的一个很好的入门,其中包含有关稳定区域的大量信息。

我一直假设您只对绝对稳定性感兴趣。对于抛物线问题,您可能还需要 -stable方法,但是检查方法的稳定性很简单。大号LL

更新:如果您真的需要了解有关此主题的所有知识,请获取Dekker和Verwer的专着的副本。它是对概念的现有最佳介绍之一,例如单侧Lipschitz常数,对数范数以及一些更深的稳定性概念。它已经绝版,但是您通常可以在亚马逊上找到二手书(价格不菲!)


Hairer II绝对是最好的。它可能是找到PI stepsize适应性的唯一地方。但是它错过了重要的细节,例如抛物线型PDE上Rosenbrock方法的额外阶数条件。当然,没有一本书可以包含所有内容,但是在抛物线式偏微分方程的主题上应该有更好的选择。
克里斯·拉卡卡斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.