求解一阶与二阶 PDE

计算科学 pde 有限差分 龙格库塔
2021-12-04 10:08:41

我正在尝试对 PDE 进行数值求解,只是对某种方法的有效性有疑问。例如,给定 PDE:

2Et2=kEt+c22Ez2cEz

如果我要应用显式 Runge-Kutta 方法,我可以进行替换:

u=Et

并解决以下问题:

ut=ku+c22Ez2cEzu=Et

其中空间导数通过有限差分逼近(例如中心差分)计算。我只是想知道:解决以下有效方法吗?

Et=1k(2Et2+c22Ez2cEz)

现在空间导数和二阶时间导数都由中心差分方案近似,而我将龙格-库塔方法应用于的一阶时间导数。我没有在任何地方看到这样做,但只是好奇为什么(或为什么不)这是一种不可接受的方法?从数学上讲,我的一阶导数依赖于其自身的高阶导数似乎很奇怪,尽管我没有立即看出为什么这在数字上是错误的。E

1个回答

你不能在你的最后一个方程中通过中心差来近似二阶时间导数,因为你引入了未知的离散值,比如,当你在第个时间步时这些值不可用如果您想应用显式龙格-库塔求解器。En+1Enn

形式上,当您在前两个时间级别的离散值时,您可以使用二阶精确反向差分来近似然而,高阶 Runge-Kutta 方法需要在某些中间时间级别以可变(自适应)时间步长评估系统的右侧,因此您必须能够近似在这样的时间点,我看不到如何以更高的精度(即大于 2,订购 Runge-Kutta 方法)来做到这一点。2Et2E2Et2

您在问题开头描述的标准方法是合适的,只需按适当的顺序编写第二个方程,即

Et=u