文 | 杜炳毅 徐岩
摘 要:势垒隧穿是初等量子力学中的一个重要模型,但由于求解其波函数涉及超越方程,因此在许多初等量子力学教材中往往着重对透射系数的讲解,很少提及其波函数演化,在部分教材中虽有提及,但往往采用图解法,不利于初学者对该过程的理解。本文针对这一问题,提出了一种便于初学者理解的数值计算方法。该方法根据矩阵力学的向量化思想,将薛定谔方程中的波函数与算符分别以向量和矩阵的形式进行离散化,并利用 Julia 编程对几种势垒情况下的波函数隧穿的含时演化进行数值模拟。
关键词:势垒隧穿;Julia;数值模拟
Abstract Quantum tunneling is an important model in elementary quantum mechanics. However, since solution of its wave function involves transcendental equation, many elementary quantum mechanics textbooks often focus on the explanation of transmission coefficient, and rarely mention the evolution of wave function. Although this process is mentioned in some textbooks, it is often solved by graphic method, which is not conducive to beginners' understanding of the process. In this paper, a numerical calculation method for beginners is proposed to solve this problem. According to Dirac's vectorization idea, the state vectors and operators in the Schrodinger equation are discretized in the form of vectors and matrices, respectively, and the time-dependent evolution of wave function tunneling under several potential barriers is solved by Julia numerically.
势垒隧穿是量子力学中的一种独特现象,在大量领域都有重要应用,已经成为当今凝聚态物理、材料物理、纳米物理及微电子器件制造领域的一个重要问题[1]。
许多量子力学教材也将势垒隧穿现象作为一维定态问题中的一个重要模型进行讲解。由于势垒隧穿过程中的散射波函数是不可归一化的,在求解薛定谔方程的过程中涉及超越方程,因此大多数教材对势垒隧穿的讨论仅仅集中在透射系数和反射系数上,没有涉及波函数的含时演化问题[2-6];在一些涉及波函数含时演化的量子力学或计算物理教材中,常常采用图解法[7]或打靶法[8]来计算,但这两种计算过程,并不具有物理意义,使得初学者对势垒隧穿过程中波函数的演化行为不甚了解。
本文借助了矩阵力学中“波函数 Ψ 对应于列向量 | Ψ 〉,算符则对应于作用于这些向量的矩阵”的思想,将波函数离散为坐标表象下的离散列矢量,通过构建时间演化算符的矩阵形式,对势垒隧穿过程中波函数的含时演化进行数值计算,以帮助初学者进一步理解势垒隧穿过程中波函数的行为和理解如何对量子系统进行数值计算。
本文的计算过程在 jupyter notebook 环境下,以 Julia 语言编程实现。Julia 内置的高效线代运算库、优秀的符号特性以及绘图库也有助于激发初学者的兴趣。
1 一维势垒隧穿
设质量为 m 的粒子以给定的能量
自左方入射,遇到图 1 所示的势垒
其中,V0 > E,求粒子的运动状态。
在经典力学中,由于 V0 > E,粒子无法越过势垒,将在 x=0 处被势垒反射,但在量子力学中,由于粒子的波动性,粒子有一定概率透过势垒进入 x > a 的区域。由于粒子的能量是给定的,而粒子是从 x = -∞ 处射来,这一问题属于游离态的定态问题,波函数可以表示成
空间波函数 ψ(x) 满足薛定谔方程
势垒隧穿也称为“隧道效应”。文献[9]中给出了方势垒情况下的透射系数与反射系数,但其波函数涉及超越代数方程组无法给出解析解,在教学中,往往采用图解法近似计算[7]。
2 离散处理
2.1 参数约定
在数值模拟中,一个重要的误差来源就是四舍五入带来的舍入误差,一般为了减少舍入误差会给参数选择合适的单位,使参数处在同一数量级[8]。但由于本文仅面向初学者进行介绍,为使问题简化,本文取自然单位制,令粒子质量与约化普朗克常数为 1,在实际的数值模拟中,应当通过选择单位或构建无量纲参数的方法减少舍入误差。
2.2 波函数作为列向量
在狄拉克符号下,t 时刻 x 位置的波函数值 Ψ(x,t) 表示为〈x | Ψ(t)〉,其中,| Ψ(t)〉为 t 时刻下的波函数,称为态矢;| x〉为态矢的一个基矢。对采用 | x〉表示的态矢称为 x 表象。含时薛定谔方程为
因此某一时刻的波函数可以通过列向量表示,如
在 Julia 中可以通过 LinRange 函数快速生成一个向量。本文从动量表象下的高斯波包出发,经逆傅里叶变换到坐标表象再作为初始波函数,这样有利于指定波函数的初始动量、波包宽度等参数。
2.3 微分算符作为矩阵
在 x 表象下,哈密顿算符
可以写成
其中,
可以写作二阶微分算符
为了将微分算符写作矩阵形式,考虑二阶微分的差分近似
作用到 t 时刻的态矢,得到本征方程
其中,Δx = xn-xn-1。
可以得到二阶微分算符形式为
在 Julia 中,可以利用 SymTridiagonal 函数快速构建二阶微分算符。
2.4 势能算符
将势能算符
作用到 t 时刻的态矢,得到本征方程
由此得到算符
的矩阵形式如下
因此
是以势函数值为本征值的对角阵,利用 Julia 中的 Diagonal 函数可以快速构造势能算符。
利用 Diagonal 函数得到的三种势垒如图 2 所示。
2.5 含时演化
在势场不显含时间 t 时,薛定谔方程存在下列形式的特解,即 Ψ(r,t) 可以分离变量
代入式(4)分离变量后,得
E 是既不依赖于 t,也不依赖于 r 的数,这样
所以
因此,特解式(12)可以表示为
称为时间演化算符,狄拉克符号表示为
结合能量本征方程
和式(17),并取每次演化的时间间隔为 Δt,得下式
其中,
哈密顿算符,其矩阵形式通过将式(9)、式(11)代入式(6)获得,有如下形式
最后,按照式(18),将时间演化算符对波函数重复作用,就实现了时间步长为 Δt 的含时演化。
取初始波函数的动能期望值略低于势垒高度,对三种势垒下隧穿现象的数值模拟结果如图 3 所示(势垒仅作示意,并对方势垒、三角势垒右侧的透射波概率密度进行了放大)。
分析发现,当波包能量与势垒高度相当时,一部分波被反射、一部分波隧穿过势垒。当隧穿完成后,对方势垒左侧概率密度积分可以得到反射系数与透射系数,符合文献[9]中的结论。
3 结语
本文根据矩阵力学的物理思想,基于开箱即用的高级语言 Julia,以数值模拟方法计算了势垒隧穿过程中的波函数的含时演化。一方面,使学生初步了解数值计算在量子力学模型中的应用及流程,接受“函数即向量,算符即矩阵”的思想;另一方面,在数值计算过程中,学生可以十分直观地认识到势垒隧穿过程中波函数的演化行为,加深了对势垒隧穿的理解。
参考文献
[1]杨军, 武文远, 龚艳春, 等. 电子双势垒量子隧穿的散射矩阵方法及其数值模拟[J]. 大学物理, 2008, 27(7): 6-8.
YANG J, WU W Y, GONG Y C, et al. The scattering matrix method and numerical simulation of electron double barrier quantum tunneling[J]. University Physics, 2008, 27(7): 6-8. (in Chinese)
[2]顾樵. 量子力学Ⅰ[M]. 北京: 科学出版社, 2014.
[3]曾谨言. 量子力学卷Ⅰ[M]. 北京: 科学出版社, 2000.
[4]陈鄂生. 量子力学基础教程[M]. 济南: 山东大学出版社, 2002.
[5]周世勋. 量子力学教程[M]. 2版. 北京: 高等教育出版社, 2009.
[6]钱伯初. 量子力学[M]. 北京: 高等教育出版社, 2006.
[7]ZETTILI N, ZAHED I. Quantum mechanics: Concepts and applications[J]. American Journal of Physics, 2009, 71(1): 93-93.
[8]KOONIN S E, MEREDITH D C, PRESS W H. Computational physics: Fortran version[M]. Addison-Wesley Pub. co, 1990: 43-47.
[9]袁留洋, 郑雨军. 论一维方势垒穿透[J]. 大学物理, 2012, 31(2): 59-59.
YUAN L Y, ZHENG Y J. On one-dimensional square barrier penetration[J]. University Physics, 2012, 31(2): 59-59. (in Chinese)
基金项目:山东省研究生教育优质课程项目(SDYKC19083)、山东省山东科技大学-海信(山东)冰箱有限公司研究生教育联合培养基地项目(SDYJD18027)资助。
通讯作者:徐岩,男,山东科技大学教授,研究方向为凝聚态物理与计算材料学,计算机视觉、图像识别与信号处理等,xuyan@sdust.edu.cn。
引文格式: 杜炳毅, 徐岩. 势垒隧穿含时演化的 Julia 数值模拟[J]. 物理与工程, 2022, 32(3): 21-25.
Cite this article: DU B Y, XU Y. Numerical calculation of quantum tunneling based on Julia[J]. Physics and Engineering, 2022, 32(3): 21-25. (in Chinese)