我正在解决两个变量的 PDE 非线性二阶系统。这些方程太复杂了,无法在这里写出来,但一个基本特征是有一个传播波,然后在边界上反弹。
我遇到的问题是,当波浪到达这一点时,数字会在边界处分解。我已经尝试通过“反复试验”来改变我在这一点上使用不同的有限差分模板计算导数的方式,但没有运气(伪光谱方法不起作用btw),我不知道如何系统地尝试提高稳定性,我没有直觉什么可以工作,什么不能工作。
当遇到此类问题时,有没有人有任何提示可以尝试什么?我怎样才能系统地向前推进,以使我的数值方案在这个边界点稳定?基本上,如果有人只是有一系列想法可以盲目尝试,那也很棒。
编辑:我应该补充一点,“边界”也可以解释为极坐标中的原点,所以靠近边界,我们在原点有一个柱面波散射。
Edit2:根据要求,我添加了我要解决的方程的(简化版本)
“极坐标原点”在 r=0,传播的波在和中。我已经删除了许多项来获得上述方程,只保留了我认为重要的那些。似乎不稳定是由于项(如果我删除它,我会得到稳定的演变)。不稳定性表现为和在靠近原点的点处以相反的符号发散。在附近,我们期望和和。
我提出的边界条件是在某个处,这会引发应该在处反弹的波。初始条件为,。
关于我的数字的更多细节:我在不同的网格上有 K 和 c (例如中的一个点位于中的两个点之间)。这消除了我遇到的其他不稳定问题。我使用二阶/三阶有限差分方法来计算导数和在网格之间进行插值。在原点有一个点,没有,并且在同一个网格上。在原点,我使用这样一个事实,即在计算导数时函数应该是均匀的(通过将径向坐标扩展到负值),但这并没有太大变化。