gpt4 book ai didi

python - 求解薛定谔方程的实空间差分法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:20 25 4
gpt4 key购买 nike

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

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。但上图并非如此。我不知道问题是出在我的代码上还是出在我对问题的理解上。

请参阅this article ,第 15 页,了解更多信息。

编辑 2: 实际上,如果要对其进行归一化,图表的峰值应为 0.46,但在我的例子中约为 0.046。所以听起来它需要乘以 10 才能使其归一化。但我尝试改变 L 并得到不同的乘数。

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

最佳答案

如果不详细查看您的代码,请记住仅微分方程不足以完整描述物理模型。边界条件起着非常重要但经常被低估的作用。

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

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

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

关于python - 求解薛定谔方程的实空间差分法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43487006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com