我目前正在开发自己的 PDE 求解器,用于 python 中的非线性模拟。我已经成功地对 KdV 和 Fisher 方程进行了模拟,但现在我正在及时使用二阶导数。
我使用的方程是一维波动方程,其中和。为简单起见,我使用并通过定义辅助字段来求解,所以方程看起来像
目前我正在使用我自己的 RK4 积分器来计算时间和空间的有限差异,直到。我的问题是,随着时间的流逝,随着和解决方案似乎会增长,直到它在数值上发散。我尝试使用高斯初始条件,例如,和,并且这些解决方案似乎辐射出不属于这些情况的解析解的波。
高斯情况的边界条件不是固定的,我只是尝试了这些初始条件以找出发生了什么。
有人面临同样的问题吗?可能是有限差分的顺序吗?我对模拟很陌生,所以任何事情都会有帮助:)
以下是上面提到的情况的图表,分别。