计算化学公社

 找回密码 Forget password
 注册 Register
Views: 19346|回复 Reply: 7
打印 Print 上一主题 Last thread 下一主题 Next thread

[算法与编程] 用网页程序解一维定态薛定谔方程

[复制链接 Copy URL]

2

帖子

1

威望

67

eV
积分
89

Level 2 能力者

本帖最后由 梅园寨主 于 2018-2-26 00:07 编辑

1、前言。

我的数学能力很一般,也就是初中水平加微积分常识,难道我就不能研究量子化学了吗?答案是否定的,因为我有一定的程序设计能力和较强的钻研能力。

经过半年的研究,搞清楚了一维定态薛定谔方程的数值解法,包括一维自由粒子、一维谐振子和一维氢原子,三种粒子状态。以后还会继续求解二维三维含时间的方程,甚至那个变态的狄拉克方程。

为了研究量子化学,我花了很长时间编写网页程序《多维空间》。这款程序能展现二维到十一维的空间,以及空间内的多维物体,对求解常微分方程及多变量偏微分方程有很大的帮助,本教程多数实验演示都在此平台下进行。程序基于HTML5和JavaScript语言编写,简单小巧易用,把文件”HyperSpace.html”直接拖入浏览器窗口就能直接使用,兼容大多数浏览器。JavaScript是一款极易上手的程序设计语言,我会一步步带领大家展示实验。

这是四维空间下的超立方体。

(1)_前言(四维空间下的超立方体).zip (9.44 KB, 下载次数 Times of downloads: 21)


这是四维空间下的复函数。

(1)_前言(四维空间下的复函数).zip (9.89 KB, 下载次数 Times of downloads: 4)

2、用网页程序《多维空间》绘制线段。

常微分方程的解是一元函数,用二维平面上的曲线表示,偏微分方程的解是多元函数,可以用三维以上空间上的曲线网格表示。所谓数值求解,就是用很多很多短的线段拼起这些所求函数的几何图形。这一节我们先来绘制几条线段。打开附件中的Event.js(我用的是gedit,一款强大的代码编辑器)

最上面定义了全局变量,用来控制曲线的粗细。

最下面定义键盘按键事件。

打开Main.js,最下面是绘制线段的程序。


HyperSpace.html拖到浏览器窗口中,程序显示效果如图

(2)_用网页程序《多维空间》绘制线段.zip (7.49 KB, 下载次数 Times of downloads: 2)

3、解一个简单的一阶常微分方程。

先来分析一下这个方程,ψ是要求的函数,

是一阶导数,这个表达式的含义就是:所求的函数上每个点的斜率等于这个点在ψ轴上的值乘以(-k)

我们给定一个初始点,再给定一个x轴的步长h,下一个点的ψ值等于初始点ψ值加上下一个点的一阶导数乘以步长h,这样一步步延伸,延伸的线段就是所求函数的近似值。步长越短,解越精确。

计算第(i)个点的一阶导数。

计算第(i)个点的函数值ψ。

函数初始值设为0.5,自变量x初始值设为 -0.8,常数K初始值设为1,线段步长设为0.01,程序得到如下图像:

(3)_解一个简单的一阶常微分方程.zip (7.72 KB, 下载次数 Times of downloads: 3)

用鼠标滚轮可以对视图进行缩放操作;按键盘

A键曲线加粗;按 Z键曲线变细;按 ↑键起始点上移;按 ↓键起始点下移;按 ←键起始点左移;按 →键起始点右移。越精确。

所有得到的这些曲线都是方程的解。实验结果是动态的,非常直观,这是无法通过任何理论公式体验到的。

4、解一个简单的阶常微分方程。

这是一维薛定谔方程:

我们把一维定态薛定谔方程的二阶导数放在左边,把右边

这一坨看作常数k,就得到如下简单的二阶常微分方程。

先来看一下这个方程的解法,把这个方程的解法搞清楚后,解完整的一维方程就简单多了。

是二阶导数,那么一阶导数是多少呢?我们知道,二阶导数是一阶导数的导数,一阶导数也是所求的函数,也就是说我们在求解二个相互关联的函数:原函数和一阶导数。好了,我们依旧用上一节的方法来解一下这个方程。

计算第(i)个点的二阶导数。

计算第(i)个点的一阶导数。

计算第(i)个点的函数值ψ。

函数初始值设为0,一阶导数初始值设为1,常数K初始值设为1,线段步长设为0.1,程序得到如下图像:


(4)_解一个简单的二阶常微分方程.zip (7.75 KB, 下载次数 Times of downloads: 2)

用鼠标滚轮可以对视图进行缩放操作;按键盘A键曲线加粗;按Z键曲线变细;按↑键步长线段加长;按↓键步长线段减短;按←键整条曲线左右加长;按→键整条曲线左右减短;按

˂键常数K值增大;按 ˃键常数K值减小;按 PageUp键一阶导数初始值增大;按 PageDown键一阶导数初始值减小。

我们得到两个相互交错的正弦曲线,绿色的是一阶导数,黑色的是函数。一阶导数初始值越大,函数的振幅越大;值为零,函数为一条与x轴重合的直线;值为负值,函数相应地以x轴为轴上下翻转。常数k的值越大,函数周期越短,反之越长。

可以看出,借助计算机做重复复杂的计算工作,可以让我们把精力集中到现象的观察中,这样能大大提高新方法的发明及理解。

5原子单位制,一维自由粒子

原子单位制下的所有物理量全部用同一单位a.u.,使用原子单位后,薛定谔方程大大简化,下面是一些常用原子单位。

长度1a.u. = 玻尔半径 = 0.5291772083D-10m

时间1a.u. = 2.418884326505(16)D-17s

速度1a.u. = 2187691.2633(72)m/s

质量1a.u. = 电子质量 = 9.10938188D-31Kg

质子质量 = 1836.1527a.u.

原子量单位(amu) = 碳十二质量的十二分之一 = 1822.88848a.u.

动量1a.u. = 1.99285166(34)D-24Kg*m/s

能量1a.u. = 4.35974417(75)D-18J

角动量1a.u. = 1.05457160D-34J*s

电荷1a.u. = 1.602176462D-19C

1a.u. = 8.2387225(14)D-8N

真空电容率 = 0.07957747154594767(e^2a0me/h^2)

约化真空电容率1a.u. =


电势能 =

=

约化普朗克常数1a.u. =

= = =

这是一维自由粒子薛定谔方程:


假设我们所求的粒子是电子,质量m就是1a.u.,约化普朗克常数也是1a.u.,上面的方程就化为下面的简单方程。

可以看出来这个方程跟上一节的方程差别不大,但是为了提高计算精度,本节采用3步计算法。

1-预测

预测第(i)个点的二阶导数。

预测第(i)个点的一阶导数。

预测第(i)个点的函数值ψ。

2步-校正

校正第(i)个点的二阶导数。

校正第(i)个点的一阶导数。

校正第(i)个点的函数值ψ。

3-计算

计算第(i)个点的二阶导数。

计算第(i)个点的一阶导数。

计算第(i)个点的函数值ψ。

计算第(i)个点的函数值ρ。

函数初始值设为0,一阶导数初始值设为1,能量E初始值设为1,线段步长设为0.1,程序得到如下图像:

(5)_原子单位制,一维自由粒子.zip (7.94 KB, 下载次数 Times of downloads: 1)


用鼠标滚轮可以对视图进行缩放操作;按键盘A键曲线加粗;按Z键曲线变细;按↑键步长线段加长;按↓键步长线段减短;按←键整条曲线左右加长;按→键整条曲线左右减短;按˂键能量E值增大;按˃键能量E值减小;按PageUp键函数曲线纵向拉长;按PageDown键函数曲线纵向缩短;按

Home键波函数ψ与概率密度函数ρ相切换。

绿色的是一阶导数,黑色的是函数。能量E的值越大,函数周期越短,反之越长。

我们可以看出,数值解法不需要复杂的数学计算,不需要很深的数学功底,通过简单的程序设计就能解决问题。

6一维谐振子

一维谐振子是量子力学的简谐运动,粒子受中心力场的引力,粒子离中心力场越远引力越大,引力大小跟距离的二次方成正比。

这是一维谐振子薛定谔方程:


假设我们所求的粒子是电子,应用原子单位制,质量m就是1a.u.,约化普朗克常数file:///C:\Temp\ksohtml\wpsED4C.tmp.png也是1a.u.,中心力场设为原点,常数k设为1,上面的方程就化为下面的简单方程。

本节依然采用3步计算法。


1-预测

预测第(i)个点的二阶导数。

预测第(i)个点的一阶导数。

预测第(i)个点的函数值ψ。

2步-校正

校正第(i)个点的二阶导数。

校正第(i)个点的一阶导数。

校正第(i)个点的函数值ψ。

3-计算

计算第(i)个点的二阶导数。

计算第(i)个点的一阶导数。

计算第(i)个点的函数值ψ。

计算第(i)个点的函数值ρ。

用鼠标滚轮可以对视图进行缩放操作;按键盘A键曲线加粗;按Z键曲线变细;按↑键步长线段加长;按↓键步长线段减短;按←键整条曲线左右加长;按→键整条曲线左右减短;按˂键能量E值增大;按˃键能量E值减小;按PageUp键函数曲线纵向拉长;按PageDown键函数曲线纵向缩短;按Home键波函数ψ与概率密度函数ρ相切换。

函数初始值设为0,一阶导数初始值设为0.1,能量E初始值设为0.5,线段步长设为0.05,曲线纵向缩放系数设为 -37,从理论上讲,基态能量E为0.5a.u.,但数值解是有误差的,无论多精确,函数右边都会拉起来,按˂键或˃键,微调能量大小,使曲线右边拉到最长,这时的能量值就是数值计算所得到的能量值,跟理论值0.5是有误差的。基态概率密度函数ρ的图像如下图所示:

Home键,切换到波函数ψ图像,这时函数图像成为一条直线,连续按PageUp键,曲线纵向拉长,得到如下基态波函数ψ的图像:


Home键,切换回概率密度函数ρ图像,连续按PageDown键,曲线纵向缩回原始状态,连续按˂键,能量不断调大,函数曲线右侧逐渐拉起来,当能量值接近1.5时函数曲线右侧又逐渐落下来,曲线由单峰变为双峰,或者在左上角输入框内填1.5,按能量按钮,直接得到第一激发态概率密度函数ρ的图像,按˂键或˃键,微调能量大小,使曲线右边拉到最长,这时的能量值就是数值计算所得到的能量值,跟理论值1.5也是有误差的。第一激发态概率密度函数ρ的图像如下图所示:

重复上述步骤,得到下面的图像。

(6)_一维谐振子.zip (8.66 KB, 下载次数 Times of downloads: 3)

一维谐振子的计算结果是比较完美的,跟理论计算结果吻合得比较好。

7一维氢原子

把氢原子用圆管束缚起来,当圆管截面半径趋于零时,就得到了一维氢原子。

一维氢原子和一维谐振子运动状态相似,粒子都受中心力场的引力,所不同的是氢原子电子离原子核越远引力越小,引力大小跟距离的倒数成正比。

如果把原子核看做质点,就得到下面的一维氢原子薛定谔方程:

应用原子单位制,电子质量m就是1a.u.,电子电荷e是 - 1a.u.,质子电荷e是1a.u.,约化普朗克常数file:///C:\Temp\ksohtml\wpsF115.tmp.png也是1a.u.,中心力场设为原点,约化真空电容率file:///C:\Temp\ksohtml\wpsF116.tmp.png1a.u.,上面的方程就化为下面的简单方程。

本节依然采用3步计算法。

1-预测

预测第(i)个点的二阶导数。

预测第(i)个点的一阶导数。

预测第(i)个点的函数值ψ。

2步-校正

校正第(i)个点的二阶导数。

校正第(i)个点的一阶导数。

校正第(i)个点的函数值ψ。

3-计算

计算第(i)个点的二阶导数。

计算第(i)个点的一阶导数。

计算第(i)个点的函数值ψ。

计算第(i)个点的函数值ρ。

用鼠标滚轮可以对视图进行缩放操作;按键盘A键曲线加粗;按Z键曲线变细;按↑键步长线段加长;按↓键步长线段减短;按←键整条曲线左右加长;按→键整条曲线左右减短;按˂键能量E值增大;按˃键能量E值减小;按PageUp键函数曲线纵向拉长;按PageDown键函数曲线纵向缩短;按Home键波函数ψ与概率密度函数ρ相切换。


这是理论计算的能级公式(原子单位制)

一维氢原子的求解遇到了很大的困难,我得到了很多理论计算结果中没有的解,量子数n是非整数,但是这些解又是符合方程条件的,我很困惑,先来展示没有问题的解吧。

函数初始值设为0,一阶导数初始值设为0.1,能量E初始值设为 -0.5,线段步长设为0.01,曲线纵向缩放系数设为 -120,从理论上讲,基态能量E为 -0.5a.u.,但数值解是有误差的,无论多精确,函数右边都会拉起来,按˂键或˃键,微调能量大小,使曲线右边拉到最长,这时的能量值就是数值计算所得到的能量值,跟理论值 -0.5是有误差的。基态概率密度函数ρ的图像如下图所示:

Home键,切换到波函数ψ图像,这时函数图像成为一条直线,连续按PageUp键,曲线纵向拉长,得到如下基态波函数ψ的图像:

Home键,切换回概率密度函数ρ图像,连续按PageDown键,曲线纵向缩回原始状态,在左上角输入框内填-0.125,按能量按钮,曲线变为第一激发态概率密度函数ρ的图像,按˂键,微调能量大小,使曲线右边拉到最长,如下图所示:


重复上述步骤,得到下面的图像。

(7)_一维氢原子.zip (8.69 KB, 下载次数 Times of downloads: 4)

这些解是跟理论计算结果一致的,再来看看那些不正常的解。

(7)_一维氢原子_第1个不正常解.zip (8.69 KB, 下载次数 Times of downloads: 2) (7)_一维氢原子_第2个不正常解.zip (8.7 KB, 下载次数 Times of downloads: 1)

这些解的量子数n都不是整数,却符合方程给定的条件,那么这些解的物理意义是什么呢?我认为数学解法属于科学理论,需要严格论证,并且要跟实验结果吻合;数值解法则属于工程技术,需要积累大量的经验,并且要跟理论结果相一致。既然这些解是不正常的,如何在数值计算中避免,还望各位大神赐教。










评分 Rate

参与人数
Participants 3
威望 +1 eV +6 收起 理由
Reason
丁越 + 5 赞!
涅涅尘 + 1 好物!
sobereva + 1

查看全部评分 View all ratings

357

帖子

0

威望

2071

eV
积分
2428

Level 5 (御坂)

真 掘墓者

2#
发表于 Post on 2018-2-26 01:54:42 | 只看该作者 Only view this author
本帖最后由 kyuu 于 2018-2-26 02:38 编辑

支持一下,给MK大大点个大大的赞,用志玲姐的话说就是:加油加油加油哦。有机会的话赐教一下四维空间的第四个维度怎么看@greatzdk 过来围观
圣诞刨坟忙

264

帖子

0

威望

2588

eV
积分
2852

Level 5 (御坂)

3#
发表于 Post on 2018-2-26 02:14:06 | 只看该作者 Only view this author
你这个思路有些清奇啊
不过别说数值解,方程解析解有时都存在没有实际物理图像对应的解,但我确实也没思考过这些解存在的含义。

3809

帖子

3

威望

1万

eV
积分
20344

Level 6 (一方通行)

围观吃瓜群众

4#
发表于 Post on 2018-2-26 10:21:42 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2018-2-26 10:29 编辑

最近正巧我也在求解原子方程,但是我采用的方法是对数网格Numerov有限差分的格式,在求解原子方程前也测试过均匀网格上求解一维势阱问题。求解类氢原子的文档我把我根据资料推导的公式整理的稿子先放上来 有限差分法求解原子方程.pdf (189.95 KB, 下载次数 Times of downloads: 57) ,仅供各位坛友参考,一维谐振子或一维势阱的情形实际上也可以自行推导来完成计算程序;程序实际上已经实现了原子自洽而且和NIST数据库做了一些对照,但目前还未达到预期功能,所以暂时先不上传。

那些不正常的解似乎原点不过0,按照道理说V->∞应当ψ->0,那些结果不符合方程本身的渐进。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
sobereva + 5

查看全部评分 View all ratings

日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

30

帖子

0

威望

727

eV
积分
757

Level 4 (黑子)

5#
发表于 Post on 2018-3-17 08:51:12 | 只看该作者 Only view this author
玩了一会儿四维立方体,很是奇妙!我认为非常有科普价值。
看了贴子第一句还以为是民科,惭愧!

744

帖子

21

威望

5351

eV
积分
6515

Level 6 (一方通行)

6#
发表于 Post on 2018-3-17 09:08:26 | 只看该作者 Only view this author
复杂一点的一维势,比如双原子分子的几个电子态存在避免交叉,可以做么?

2

帖子

1

威望

67

eV
积分
89

Level 2 能力者

7#
 楼主 Author| 发表于 Post on 2021-3-10 21:23:17 | 只看该作者 Only view this author
beefly 发表于 2018-3-17 09:08
复杂一点的一维势,比如双原子分子的几个电子态存在避免交叉,可以做么?

只要能提供一维势函数,就可以做。

655

帖子

1

威望

5319

eV
积分
5994

Level 6 (一方通行)

8#
发表于 Post on 2022-4-27 21:52:17 | 只看该作者 Only view this author
抱歉挖坟。
关于1维氢原子的求解,有以下几点拙见:
(1)最低的偶宇称基态是,能量为-∞,波函数为δ函数开根号,即电子全部集中在原子核上。
(2)B. Jaramillo, et al. On the one-dimensional Coulomb problem. Physics Letters A. doi:10.1016/j.physleta.2009.10.073 这篇文章详细地讨论了1维氢原子问题。文中指出,1维氢原子的哈密顿量不是 self-adjoint 的,导致它每个束缚态的能级(除了(1)中提到的能量为-∞的能级)可以有奇宇称和偶宇称两个简并的本征态:

显然,这两个简并的本征态可以组合出没有宇称的本征态。

现代化学以狄拉克的一句“一切化学问题业已解决”为嚆矢。滥觞于经验主义传统的期望正失去它们的借鉴意义。但面对看似不可达的通往天堂之阶梯,我想循伍德沃德“最好的模型是你底物的对映异构体”的信仰好过过早地振翮。
我们怀揣热忱的灵魂天然被赋予对第一性的追求,不屑于单一坐标的约束,钟情于势能面彼端的芬芳。但

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-22 03:57 , Processed in 0.331254 second(s), 30 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list