一维定态薛定谔方程求解的两种方法(matlab)


量子力学中,薛定谔方程是核心。薛定谔的猫描述了态的概念,但实际研究中,要想细致地研究一个原子,分子,甚至一块物质,都需要从薛定谔方程的求解开始。下面将会以我的一次作业的题目为例,向大家展示整个求解过程。

薛定谔方程的完整形式为:

clip_image002

以上方程有对时间的微分,还有对空间的微分。而对于定态的薛定谔方程,我们只需考虑某一时刻的波函数,所以直接可将能量算符替代为E(一个常数)。

clip_image004

(1)分段势能法

对于空间的梯度,如果只是一维情况的话,可以直接将梯度算符改为微分。所以一维定态薛定谔方程就显得很简单:

clip_image006

就是一个简单的二阶微分方程。此方程的解想必一眼就可以看出来。就是

clip_image008

这个解是假设U(x)与x无关,是一个常数才得出这个自由波的解。类似与微积分中的方法,对于一个任意势场函数,我们可以假设在某一个极小的dt范围内,势函数是不变的,因此可以将任意一个势函数用有限个一定宽度的恒定势场来代替。如下图所示:

clip_image009

其中的各个小段的波函数就可以表示为

clip_image011

这样就会有2N个方程,然后利用内部的n-1个边界条件(界面处波函数连续,波函数的倒数连续),和两端的衔接(假设入射为1,则A1=1, B1=r; 且最终透射端没有反射波,AN=t, BN=0. ),就可以写出2N个线性无关的方程,从而可以将系数都求解出来。

clip_image013

clip_image015

注意,这种情况下,我们无从得知基态的能量值,以及能量的分立的特性。但是从这种角度出发,我们可以很容易计算出波在这样的势函数中传输特性,可以计算出入射端的反射系数R,以及不同能量所对应的入射波的透射系数T。

clip_image017

下面将以一个例子应用上述关系。

clip_image019

根据上图中所示的势函数求解薛定谔方程,得到透射系数和反射系数随温度的变化关系为

clip_image020

详细过程,参见https://github.com/elike-ypq/elike/tree/master/physics

(2)差分法

现在我们从另外一个角度出发,一维定态薛定谔方程如下

clip_image022

在这里,我们要求的是clip_image024,可以将clip_image026分为N份,采用数值计算方法,将微分方程变成差分方程。参考相应书籍可知

clip_image028

可以化为

clip_image030

对于上述波函数也可以转化为类似的形式,

clip_image032

所以可以由矩阵T的特征值对应能量,特征向量对应于波函数在每一个节点的解。

大家可以从下面的例子中详细分析求解的过程

clip_image033

基态和第一激发态的波函数画图如下:

clip_image034

clip_image035

可以看出随着这两个势阱远离,基态和第一激发态的能量差值逐步减小,逐步趋近于只有一个势阱时所对应基态与第一激发态的差值,所以当两个原子靠得越近的时候,能量量子化的现象也就越明显,可以理解为能级之间的排斥作用。

所有代码参见https://github.com/elike-ypq/elike/tree/master/physics

posted @ 2017-10-23 12:49  eliker  阅读(32709)  评论(0编辑  收藏  举报