APP下载

Numerov算法求解一维薛定谔方程研究

2017-10-09孙浩翔

科学家 2017年17期

孙浩翔

摘 要 本文主要讲述的是运用MATLAB对一维定态薛定谔方程求解中遇到问题的分析。问题指的是在运用文献[1]所提供的程序,解一维定态薛定谔方程时出现了波函数与能量不能一一对应的情况。因为程序自身的优点,免去了对波函数边界进行讨论。所以,文中所运用的,对波函数进行筛选的工具是导函数。通过对导函数的分析能准确得出波函数的变化率在定义域中的情况。筛选过后挑出了几个有代表性的结果呈现在文中。

关键词 Numerov算法;打靶法;Simpson法;导函数;边界函数值

中图分类号 O1 文献标识码 A 文章编号 2095-6363(2017)17-0052-03

1 概述

薛定谔方程是量子力学的核心:一个微观粒子在一个含时的势场中运动,所满足的方程就是薛定谔方程:

(1)

通常情况下,我们只研究定态,即势场V不显含t。含时波函数拆分成只与位置有关的部分和只和时间相关的部分的乘积

其中:被称为定态波函数,简称波函数,它所满足的方程(4)叫作定态薛定谔方程。这说明,微观粒子在不含时的势场中运动时,所需要确定的仅仅是定态波函数(本征波函数)和这个定态波函数对应的能量(本征能量),这样薛定谔方程的求解就转化成了对本征能量和本征波函数的求

解上。

为了更好地说明定态薛定谔方程的性质,我们先来研究一维情况下的薛定谔方程,一维定态薛定谔方程写作:

即使一维的定态薛定谔方程情况,也仅有极少数情况存在精确解,比如无限深势阱、谐振子势、氢原子的库仑势。大部分情形下,薛定谔方程的求解只能诉诸于数值手段。

在科学发展的过程中,出现了大量较为成熟的求解薛定谔方程的数值算法,其中有矩阵对角化解法,转移矩阵方法,虚时间方法等等。他们都有各自的优点,当然也有不同的程度的缺点,例如:转移矩阵方法是将薛定谔方程求解转化成性方程组求解,比较直观,但由于中间涉及逆矩阵运算,处理过程比较复杂。又如,虚时间算法能够比较严格推导出来,并可以很好的估计误差,但是由于涉及过多的抽象算符运算,不能方便地由程序来实现,而且每一步迭代波函数的归一化都会被破坏,所以每次迭代后都要对波函数进行归一化

操作。

综上所述,我们选用Numerov算法+打靶法+Simpson法综合算法,3种算法中以Numerov算法为

主[1]。这3种方法实现目的不尽相同:打靶法是用来求非零的能量本征值,Numerov算法是用來求解本征能量所对应的本质波函数,Simpson法是用来对波函数进行归一化(Numerov算法求解得到波函数后用Simpson积分后对Numverov得到的波函数进行归一)。3种方法结合起来就数值求解任意势场的薛定谔方程。我们以三角势作为例子进行计算,三角势指的是势肼深度与距离成正比关系,而在边界处出现一个无限深势垒。Numerov是一套非常成熟和完善的求解微分方程的算法,但是由于薛定谔方程除了其数学属性外还必须保证求得的波函数满足一定的物理条件,这样的解被称为“物理解”,而那些仅仅满足数值方程但不满足相应的物理条件的纯粹数值解被称为“假态”。本文的目的就是找到Numerov算法中得到的“假态”并对提出相应的准则对其进行

剔除。

2 方法和原理

一般来说,波函数需要满足的条件有:

1)波函数有界要求:根据波函数的统计解释,边界处的波函数值是一定等于0。

2)波函数归一要求:由于波函数在全空间的积分对应着找到粒子的总概率1。

3)波函数导数连续性要求:波函数的导数对应的是经典中粒子的动量或者速度。经典粒子不可能出现速度或者动量的“跳变”,所以要求波函数的导数必须是连

续的。

在求解定态薛定谔方程的算法中,Numerov算法是比较常用的一个。利用这个算法求得的波函数在边界处可以自然满足有界的条件,即可以巧妙得避开边界发散的情况。

在实际程序运行过程中,我们发现Numerov算法仍旧会带来一些

“假态”。

Numerov算法求解三角势薛定谔方程时,所给出的本征能量数组维度和本征波函数的数组维度对比发现:波函数中存在着一些

“假态”。

运行程序过程中发现,所得到的本征能量E是一个36维的数组,这说明程序运行后给出36个本征能量;本征波函数Psi是50×501维的数组,其中501是波函数格点的数目,前面的50代表着存在50个本征波函数。在排除了波函数“简并”的情况后,我们认为用Numerov算法计算得到的波函数中有一些并不是对应本征能量的,即出现了一些

“假态”。

在薛定谔方程中波函数模的平方对应的是某个区域出现这个粒子的概率密度,很明显因为这是粒子运动所导致的结果,所以波函数的图像的变化应该是平稳的,图像应该是平滑的曲线。前面已经论述过,波函数有界性和归一性能够分别由Numerov算法和Simpson算法保证,在波函数满足的准则中我们发现,只有第(2)准则目前还没有用到。因此,我们可以求出某个波函数的导数并分析其连续性来判定这个波函数是否有意义。如果导数的图像不存在较大的起伏那么证明这个波函数是对应能量的,也就是成立的。如果导数的图像有较大变化,存在不平滑的拐点那么这个波函数就是不成立的,是不对应任何能量的,这样的波函数就应该被

排除。

3 结果及分析

对得到的50个波函数都进行了求导分析,gradient(Y,X)类型的命令行对数组求导得到相应的导函数。本文选取一些有代表性的波函数和其导数的图形进行

分析。

不难看到,波函数导数的图像在定义域内没有较大的起伏,且图像平滑因此可以断定这个图像是对应能量的,应该属于第一能量级波函数即基态波

函数。

这副图中在X=3.5左右存在一个明显的不平滑的拐点,在这里导函数出现一个不连续的“跳跃”。相对应的波函数函数图象在这里应该对应的是一个变化幅度很大的拐。

在X=3.5附近确实如上分析存在一个不平滑的拐点,所以这幅图不符合规律,应该是不对应任何能量的。同时也证明了导数作为工具确实可靠。

这个导函数图像在X=6.5左右存在一个不平滑的拐点,所以,这个导函数所对应的函数图象也是不对应任何能量的。同时也证明波函数的序列的奇偶没有决定性的作用。

这个函数图像在定义域内都呈光滑的曲线,所以说这个波函数对应能量。同时也证明波函数序列的大小对波函数是否对应能量无决定性作用。

经过对波函数图像以及其性质的分析我发现,导致导函数曲线不成立的区域都存在于函数值趋近于零的一端,波函数图像同导函数图像的问题相同。我猜想程序中可能不完善的步骤应该与波函数的末端有关,我们可以通过对末端的限制在程序中就将这多余的波函数去除掉。

4 结论

本文在研究“Numerov算法+打靶法+Simpson法”求解一维定态薛定谔方程时,发现此法求解出来的本征能量与本征函数数目不同,即存在着不对应任何本征能量的“假态”波函数。根据量子力学的波函数统计解释,得知波函数在定义域内图像成平滑的曲线,在边界波函数的值因该归于零点。本文以此为依据,对存在的“假态”波函数进行了一一筛选。

参考文献

[1]张杰.Matlab在量子力学中的应用[J].安庆师范学院学报(自科版),2003,9(4):53-54.

[2]曾谨言.量子力学教程[M].北京:科学出版社,2003.

[3]王忆锋,唐利斌.利用转移矩阵和MATLAB求解一维薛定谔方程的一种简洁方法[J].红外技术,2010,32(3):177-180.endprint