您的位置: 主页 > 改变头脑 >利用Gnuplot软体绘製似氢原子轨域的等高线图(上) >

利用Gnuplot软体绘製似氢原子轨域的等高线图(上)


2020-06-19


学习原子轨域时,经常由于太过抽象,常使学习者敬而远之,因此一般教科书均会各种图形加以辅助说明,例如原子轨域的3D形状、径向分布函数(radial distribution function)对原子半径的变化图及波函数的电子出现机率之等高线图(contour map)等,但是学子仍然无法理解,这些图形是如何绘製出来的?倘若有一个适宜的绘图软图工具,让学子亲自绘製及感受各类轨域间的特徵及变化,相信对于学习效果会有事半功倍的效果。

在网路上颇为盛行的免费绘图软图:gnuplot,由于具有可跨平台、轻薄短小、易于操作及功能强大等优点,已广泛的被使用在各个学科领域中。笔者曾撰写二篇其应用在量子化学上的文章:《利用Gnuplot软体绘製似氢原子的轨域形状》、《利用Gnuplot软体绘製似氢原子的径向分布函数》,目前均放在高瞻平台上以供参考,前者主要是介绍如何利用 gnuplot 软体,绘製各类原子轨域的立体形状,后者则是在平面上绘製电子出现机率与原子半径的关係图,此二者均为探讨原子轨域的一种观点,前者是观看轨域外部的形状,内部的结构则无法判断,后者则是由图形中观想轨域内部的分布情形,外部的具体样貎则需要想像力。

本文则应用 gnuplot 的各项指令,绘製结合前二者观点的轨域等高线图。另外,读者在阅读本文时,可一边按照文中的指示操作电脑,相信从做中学,会有更深刻的领悟及更丰富的学习效果。

一、原子轨域等高线图之说明

首先来了解何谓等高线图?现以图一 gnuplot 所绘出的 $$3d_{xy}$$ 轨域的图形及其等高线图为例加以说明。第一步必须将 $$(x,y)$$ 点上,$$3d_{xy}$$ 轨域电子出现的机密度计算出来,即等于其波函数的平方 $$(|\varphi_{3d_{xy}}|^2)$$,然后以其值为 $$z$$ 座标,在特定区间内将各个 $$(x,y,z)$$ 点依序描绘,可得图一的上半部图形,和平常 $$3d_{xy}$$ 轨域形状的认知相同,有二个节面,即电子不会出现的区域。

聪慧的读者可能会发现,波函数不是也需要 $$x$$、$$y$$ 和 $$z$$ 等 $$3$$ 个座标变数吗?现在将 $$z$$ 用做电子出现的机率密度,那原先波函数的 $$z$$ 值应如何处理呢?此点容后说明,现在将焦点转移到下半部的等高线图。

利用Gnuplot软体绘製似氢原子轨域的等高线图(上)

图一、利用 gnuplot 软体绘製 $$3d_{xy}$$ 轨域的电子出现机率密度之分布情形及其等高线图(作者绘製)

试着想像一下,拿一块平板与 $$xy$$ 平面平行,在 $$z$$ 轴等于 $$0.0001$$ 的高度横切过去,与图形相交的点将其投影在 $$xy$$ 平面上,应可得到如图一下半部中,$$4$$ 个椭圆形的蓝色圈圈,若将平板等距 $$(0.0001)$$ 上升,再重覆上述动作 $$4$$ 次,则可完成图一下半部图形的全貎,此即为等高线图。

若经过练习,单从下半部的等高线图来判读,便能反推上半部的 3D 形状,例如由等高线图可知其为有 $$4$$ 个山峰的形状,靠近原点附近的 $$4$$ 个点,电子出现的机密最大。图形外部的等高线之间较疏,代表其山坡斜度较平缓,而内侧等高线间较密,代表其山坡较陡,另外,在  $$x$$ 轴及 $$y$$ 轴是电子不会出现的地方,3D 图形中即为节面。

图一是以电子出现机率密度(波函数的平方)做图,所以 $$z$$ 值没有负值,如果使用波函数做图,则 $$z$$ 值有正亦有负,了解等高线图以后,接着来试试如何在 gnuplot 软体中,实际绘製出等高线图。

二、利用 gnuplot 绘製 $$3p_x$$ 轨域及其等高线图

由薛丁格方程式 (Schrödinger equation) 解出的似氢原子 (hydrohen like atom) $$2p_x$$、$$3p_x$$、$$3d_{xy}$$ 的波函数分别如下:

$$\varphi_{2p_x}=\displaystyle\frac{1}{4\sqrt{2\pi}}(\frac{Z}{a_0})^{\frac{5}{2}}re^{-Zr/2a_0}\sin\theta\cos\phi$$          (式-1)

$$\varphi_{3p_x}=\displaystyle\frac{\sqrt{2}}{81\sqrt{\pi}}(\frac{Z}{a_0})^{\frac{5}{2}}(6-\frac{Zr}{a_0})re^{-Zr/3a_0}\sin\theta\cos\phi$$          (式-2)

$$\varphi_{3d_{xy}}=\displaystyle\frac{1}{81\sqrt{2\pi}}(\frac{Z}{a_0})^{\frac{7}{2}}r^2e^{-Zr/3a_0}\sin^2\theta\sin 2\phi$$          (式-3)

上式中 $$a_0$$ 为波耳半径等于 $$0.53$$ Å,$$Z$$ 为原子核的正电数,对于氢原子而言 $$Z=1$$,若作图时原子半径再以 $$r/a_0$$ 做单位,则上列式子的 $$Z$$ 及 $$a_0$$ 均可省略。

为了要绘製上列波函数的图形,首先必须将极座标转换成我们熟悉的直角座标。有关直角座标和极座标的转换方式,如图二所示,$$(x,y,z)$$ 转成 $$(r,\theta,\phi)$$ 可透过下列公式完成:

$$x=r\sin\theta\cos\phi$$

$$y=r\sin\theta\sin\phi$$

$$z=r\cos\theta$$

其中 $$\phi$$ 角为 $$r$$ 在 $$xy$$ 平面上的投影,其绕 $$z$$ 轴旋转时和 $$x$$ 轴间的夹角,$$\theta$$ 角为 $$r$$ 和 $$z$$ 轴的夹角。

利用Gnuplot软体绘製似氢原子轨域的等高线图(上)

图二、直角座标和极座标间的关係图(图片来源:参考资料5)

接下来,代表 $$3p_x$$ 的(式-2)在软体中如何绘製波函数 $$\varphi_{3p_x}(r,\theta,\phi)$$ 随 $$(r,\theta,\phi)$$ 的分布图?

这裏出现 $$4$$ 个变数,但一般 3D 绘图只能有 $$3$$ 个变数,因此只能选择一个特殊的视角,本文以 $$xy$$ 平面上来看波函数的变化,即 $$z=0$$,由图二可知,此时 $$\theta=\pi/2$$ 为一固定值,此时改变 $$r$$ 值,从 $$0$$ 到 $$20$$,改变 $$\phi$$ 值,从 $$0$$ 到 $$2\pi$$,并将每一个 $$(r,\frac{\pi}{2},\phi)$$ 代入波函数出求出其值,然后以 $$x=r\cdot\sin\frac{\pi}{2}\cos\phi$$、$$y=r\cdot\sin\frac{\pi}{2}\sin\phi$$、$$z=\varphi_{3p_x}(r,\frac{\pi}{2},\phi)$$,将此 $$3$$ 个变数当成 3D 空间的一点,随着 $$r$$、$$\phi$$ 值的变化再一点一点描绘上去即可完成任务。

有了上述绘图逻辑以后,即可将其想法移到 gnuplot 软体中,开始撰写指令集的文字档如图三:大部分的指令已由前言中所提的二篇文章中说明过,读者可自行前往高瞻平台参考,但为了方便了解及查询,仍在图三中加注说明,其中只要有「#」符号出现,该行从这个位置以后的文字均为说明或注解,并不会真正执行。

利用Gnuplot软体绘製似氢原子轨域的等高线图(上)

图三、gnuplot 指令集,藉以绘出氢原子 $$2p_x$$、$$3p_x$$、$$3d_{xy}$$ 轨域之波函数在 $$xy$$ 平面上的分布图(作者绘製)

在图三中的第 $$6$$ 行:set urange[0:20.] ; set vrange[0:2.0*pi],即为设定 gnuplot 的内定变数 $$u$$ 及 $$v$$ 的範围,相当于文中所提极座标的 $$r$$ 及 $$\phi$$,分别从 $$0$$ 到 $$20$$ 及 $$0$$ 到 $$2\pi$$,程式会依所设定的解析度,一点一点代入图三的最后一行:splot u*cos(v) ,u*sin(v) ,(p3xorbital(u,v)) title “”,将极座标转换成直角座标,并在 $$xy$$ 平面上描绘 $$3p_x$$ 波函数的分布图,详如下篇图四。另外图三倒数第 3-5 行波函数的设定,即依(式-1)、(式-2)及(式-3)撰写成 p2xorbital(x,y)、p3xorbital(x,y) 及 dxyorbital(x,y)。

连结:利用Gnuplot软体绘製似氢原子轨域的等高线图(下)


参考文献



上一篇:
下一篇: