用快速傅里叶变换求解一个简单的薛定谔方程

计算科学 pde 计算物理学 傅立叶分析 波传播
2021-11-30 16:53:37

在尝试求解随机 Gross-Piaevskii 方程时,我发现了一个问题,可以追溯到最简单的薛定谔方程中可能出现的错误:

tψ=ix2ψ

这有一个平面波的非常简单的解决方案:

ψ(t)=Aeikxiωt, 和ω=k2

我的问题是,在某些情况下,我无法从数字上恢复这个非常简单的解决方案。这是因为我的代码使用非常标准的快速傅里叶变换方法进入 k 空间,其中的进化是微不足道的,然后进行逆 FFT 以回到真实空间。这种方法自然会在模拟网格中强制执行周期性边界条件,因为您将解决方案扩展为周期性函数的总和。发生的情况是,当初始条件是具有与域大小不匹配的周期性的平面波时,算法无法提供正确的解决方案。

我在这里展示一个例子。问题很明显|ψ(t)|,它应该保持不变:

波函数幅度的演变

这种影响在灵态中不那么显着,但仍然存在。可以看到一些来自底部边缘的涟漪。

阶段的演变

如果我强制执行周期性边界条件,计算在模拟域中非周期性的波的演变会产生问题,我对此并不感到惊讶。但是,该方法非常标准并且被广泛使用,像 XMDS (xmds.org) 这样的软件包默认使用它。因此,令我惊讶的是,我没有发现任何提及这种方法未能解决如此极其简单的例子。我的问题是,有什么我想念的吗?如果我期待这种解决方案,我是否应该克服它并假设这不是一个好方法?有人知道记录在哪里的参考吗?

1个回答

热方程的基本解

ut=iuxx
具有周期性边界条件[0,1] 可以用Jacobi theta 函数的封闭形式表示,
ϑ3(X,-4π)=1+2n1e-4一世π2n22πnX.

因此,如果域中的初始条件不连续(如在非周期性 IC 的情况下)e一世ķXķ不是的整数倍2π),您应该将数值结果与之进行比较的解决方案不是单波e一世ķX-一世ķ2,它只满足那些特定的边界条件ķ,但与基本解的卷积,

010(是的)ϑ3(X-是的,-4π)d是的.