求解薛定谔方程的实空间有限差分方法

时间:2017-04-19 05:23:04

标签: python algorithm physics

我编写了一个简单的代码来绘制限制在无限量子阱中的粒子的特征向量。我使用了实空间有限差分法。这是我的代码:

import matplotlib.pyplot as plt
import numpy as np
import numpy.linalg as la

L=12 #length of the well,unit:Ang
a0=0.52917721 #unit of length in atomic system, given in Ang
k=0 # quantum number

#Atomic unit conversion
L_au=L/a0

n=1000
h=L_au/n

c0=1/(h**2)
c1=-1/(2*h**2)

#kinetic energy
T=c0*np.diag(np.ones(n-1))+c1*np.diag(np.ones(n-2),1) \
            +c1*np.diag(np.ones(n-2),-1)

x=np.arange(0,L_au,h)

#Hamiltonian
H=T
val,vec=la.eigh(H)
plt.plot(x[:-1],vec[:,k])

代码本质上很简单,但是当我绘制它时,我没有得到一个良好规范化的正弦本征态。这是输出: output

如你所见,它没有正常化。我想垂直轴应该乘以一个取决于L的变量。我不知道任何提示是值得赞赏的。

编辑1:让我详细说明我的意思是没有规范化。在量子物理学中,如果条件为真,则称波函数psi(x)被归一化:

Normalization condition

因此,对于归一化,我们需要确保整个空间上波函数平方的积分总和为1.但是上图不是这种情况。我不知道问题是出现在我的代码中还是我对问题的理解。

有关详细信息,请参阅第15页的this article

编辑2:实际上,如果要进行标准化,图表的峰值应为0.46,但在我的情况下,它的值约为0.046。所以听起来它需要乘以10才能使其正常化。但我尝试改变L并获得不同的乘法因子。

我知道你们大多数人的问题看起来仍然模糊不清。但如果我想详细说明一切,我就需要写一本书并且这是不可能的。但是如果您阅读上面提到的文章,您将对我编写的代码有一个很好的理解。

1 个答案:

答案 0 :(得分:0)

如果不详细查看代码,请记住单独的微分方程永远不足以完全描述物理模型。边界条件起着非常重要的作用。

例如,在量子系统的情况下(如此处),正是因为物理系统需要对波函数进行归一化,因此薛定谔方程(SE)的一些可能解决方案无效。物理。因此引入这种边界条件(归一化波函数),而不是SE本身,导致解是离散的。

换句话说,没有内置到SE中的规范化或任何东西,它仍然允许不可规范化的解决方案。 (顺便说一下,这在某些模型中实际上是一个有用的属性。)规范化 你需要检查SE的解决方案,而忽略那些无效的物理解决方案。

此外,关于边界条件,您是否考虑了潜在井边缘的条件?