氢原子的 d 轨道概率密度函数的三维密度图

本贴最后更新于 1132 天前,其中的信息可能已经时过境迁

波函数

先抄书。

d 轨道的角向分布函数是:

\begin{aligned} Y_{d_{z^2}}(\theta,\varphi) &= \sqrt{\frac{5}{16\pi}} (3\cos^2\theta-1),\\ Y_{d_{zx}}(\theta,\varphi) &= \sqrt{\frac{15}{16\pi}} \sin 2\theta\cos \varphi,\\ Y_{d_{zy}}(\theta,\varphi) &= \sqrt{\frac{15}{16\pi}} \sin 2\theta\cos \varphi,\\ Y_{d_{xy}}(\theta,\varphi) &= \sqrt{\frac{15}{16\pi}} \sin^2\theta\cos 2\varphi,\\ Y_{d_{x^2-y^2}}(\theta,\varphi) &= \sqrt{\frac{15}{16\pi}} \sin^2\theta\cos 2\varphi;\\ \end{aligned}

3d 轨道和 4d 轨道的径向波函数是:

\begin{aligned} a&=\frac{\hbar^2}{\mu e^2}, \quad\rho = \dfrac{2Zr}{na};\\ R_{3d}(r)&=\frac{(Z/a)^{3/2}}{9\sqrt{30}}\phantom{(6-\rho)}\rho^2\exp(-\frac\rho 2),\\ R_{4d}(r)&=\frac{(Z/a)^{3/2}}{96\sqrt{5}}(6-\rho)\rho^2\exp(-\frac\rho 2); \end{aligned}

3d 特征轨道作图

径向波函数的单位化系数有一点复杂,先计算机验证径向波函数。它需要利用体积元 {\rm d}V=r^2 {\rm d} r \sin \theta {\rm d} \theta {\rm d}\psi 的性质,使得 r^2|R(r)|^2 才是概率密度。

a = 0.1;
Ar = a^(-3/2)/(9*Sqrt[30]);
R[r_] := Ar  ((2*r)/(3*a))^2 Exp[-r/(3*a)];
P[r_] := R[r]^2 r^2;
Plot[{R[r], P[r]}, {r, 0, 5}, PlotStyle -> {Dashed,}, 
 PlotLegends -> "Expressions"]
Integrate[P[r], {r, 0, 5}]

得到结果是

r3d.png

积分区间是 [0,50a] 就可以在运算精度之内得到 1 的结果。

可以调整对玻尔半径 a 数值的规定,来得到其他不同的曲线。根据我之前在 GeoGebra 里面试过的结果,a 取 0.1 比较好,概率密度函数可以达到一个“比较显著”的值(指和坐标 r 一个数量级)。

然后再把角向分布函数敲进去。事实上,为了方便作图和验证单位化系数,还是把它还原成直角坐标下的情形为好。这样正好保留了它的下标中的特征。直角坐标形式的公式就不再抄一遍了,直接看代码。

值得一提的是,设距离函数 r[x_, y_, z_] := Sqrt[x^2 + y^2 + z^2]; 能很好地简化写法,而且能继承上面对径向波函数的讨论。

a = 0.1;
Ar = a^(-3/2)/(9*Sqrt[30]);
R[r_] := Ar  ((2*r)/(3*a))^2 Exp[-r/(3*a)];
r[x_, y_, z_] := Sqrt[x^2 + y^2 + z^2];
Ayz = Sqrt[5/(16 Pi)];
Ay = Sqrt[15/(4 Pi)];
Ayxy = Sqrt[15/(16 Pi)];
Yz2[x_, y_, z_] := Ayz ((3 z^2 - r[x, y, z]^2)/(r[x, y, z]^2));
Yx2y2[x_, y_, z_] := Ayxy ((x^2 - y^2)/(r[x, y, z]^2));
Yzx[x_, y_, z_] := Ay ((z x)/(r[x, y, z]^2));
Yzy[x_, y_, z_] := Ay ((z y)/(r[x, y, z]^2));
Yxy[x_, y_, z_] := Ay ((x y)/(r[x, y, z]^2));
Psiz2[x_, y_, z_] := R[r[x, y, z]] Yz2[x, y, z];
Psix2y2[x_, y_, z_] := R[r[x, y, z]] Yx2y2[x, y, z];
Psizx[x_, y_, z_] := R[r[x, y, z]] Yzx[x, y, z];
Psizy[x_, y_, z_] := R[r[x, y, z]] Yzy[x, y, z];
Psixy[x_, y_, z_] := R[r[x, y, z]] Yxy[x, y, z];
Size = 5;
DensityPlot3D[{Psiz2[x, y, z]^2}, {x, -Size, Size}, {y, -Size, 
  Size}, {z, -Size, Size}]
(*NIntegrate[Psi[x,y,z]^2,{x,-Size,Size},{y,-Size,Size},{z,-Size,Size}\
,Method->{Automatic,"SymbolicProcessing"->0}]
*)

dz2.png

3d_{z^2}

dzx.png

3d_{zx}

dzy.png

3d_{zy}

dxy.png

3d_{xy}

dx2y2.png

3d_{x^2-y^2}

以上是分别修改源代码,来分别绘制的它们的波函数。

3d 杂化轨道作图

然后我们可以把它们画在一张图上。使用 Show[ ] 是不行的,会报错 Could not combine the graphics objects 。于是我们寻求更加简单粗暴的方法:平方和。这就是直接把波函数相加而已。

dz2dx2y2.png

\psi_{d_{z^2}}^2+\psi_{d_{x^2-y^2}}^2

相加和的结果自然就是这样微妙地黏在一起的三对小球。它们看上去符合正八面体对称性,或许属于 O_h 点群?

dx2y2dz2.png

dx2y2dz2top.png

\psi_{d_{z^2}}^2-\psi_{d_{x^2-y^2}}^2

波函数模长平方的线性组合也是有趣的。这里是做了个减法,不知道得到了个什么玩意(喂)。直观图看上去挺复杂的,那就再画一个俯视图,依照镜面对称来简化一下图案。

懒得归一化了。归一化就是再乘一个 \dfrac{1}{\sqrt{2}} ,仅此而已。

dzxdzydxy.png

\psi_{d_{zx}}^2+\psi_{d_{zy}}^2+\psi_{d_{xy}}^2

乐了。这三个加起来的图像看起来像是圆角立方体,但同时面心都凹下去。它同样是具有一个正八面体的对称性(或者说立方体的对称性),或许属于 O_h 点群?那答案就呼之欲出了:

把这五个轨道按平方和这样加在一起,那答案只有一个:

球体。

DensityPlot3D[{(Psizx[x, y, z]^2 + Psizy[x, y, z]^2 + 
     Psixy[x, y, z]^2 + Psix2y2[x, y, z]^2 + Psiz2[x, y, z]^2)/
   Sqrt[5]}, {x, -Size, Size}, {y, -Size, Size}, {z, -Size, Size}]

d.png

值得一提的是,更一般的杂化体系中, d^3s, sp^3d^3 等使用 3 个 d 轨道来杂化的,一般使用的就是 d_{zx},d_{zy},d_{xy} 这三个轨道;sp^3d^2 等使用 2 个 d 轨道来杂化的,一般使用的就是 d_{z^2}, d_{x^2-y^2} 这两个;而 sp^3d 这种使用 1 个 d 轨道来杂化的,一般使用的就是 d_{z^2} 。同时,正四面体场和正八面体场对 d 轨道的吸引,也能相当清楚地表现。

4d 特征轨道作图

依样画葫芦而已。

a = 0.1;
Ar = a^(-3/2)/(96*Sqrt[5]);
R[r_] := Ar  (6 - r/(2 a)) ((r)/(2*a))^2 Exp[-r/(4*a)];
P[r_] := R[r]^2 r^2;
Plot[{R[r], P[r]}, {r, 0, 5}, PlotStyle -> {Dashed,}, 
 PlotLegends -> "Expressions"]
Integrate[P[r], {r, 0, 5}]

4d.png

径向分布。注意有节面。

a = 0.1;
Ar = a^(-3/2)/(96*Sqrt[5]);
R[r_] := Ar  (6 - r/(2 a)) ((r)/(2*a))^2 Exp[-r/(4*a)];
r[x_, y_, z_] := Sqrt[x^2 + y^2 + z^2];
Ayz = Sqrt[5/(16 Pi)];
Ay = Sqrt[15/(4 Pi)];
Ayxy = Sqrt[15/(16 Pi)];
Yz2[x_, y_, z_] := Ayz ((3 z^2 - r[x, y, z]^2)/(r[x, y, z]^2));
Yx2y2[x_, y_, z_] := Ayxy ((x^2 - y^2)/(r[x, y, z]^2));
Yzx[x_, y_, z_] := Ay ((z x)/(r[x, y, z]^2));
Yzy[x_, y_, z_] := Ay ((z y)/(r[x, y, z]^2));
Yxy[x_, y_, z_] := Ay ((x y)/(r[x, y, z]^2));
Psiz2[x_, y_, z_] := R[r[x, y, z]] Yz2[x, y, z];
Psix2y2[x_, y_, z_] := R[r[x, y, z]] Yx2y2[x, y, z];
Psizx[x_, y_, z_] := R[r[x, y, z]] Yzx[x, y, z];
Psizy[x_, y_, z_] := R[r[x, y, z]] Yzy[x, y, z];
Psixy[x_, y_, z_] := R[r[x, y, z]] Yxy[x, y, z];
Size = 5;
DensityPlot3D[{(Psizx[x,y,z]^2+Psizy[x,y,z]^2+Psixy[x,y,z]^2+Psix2y2[\
x,y,z]^2+Psiz2[x,y,z]^2)/Sqrt[5]},{x,-Size,Size},{y,0,2Size},{z,-Size,\
Size}]

4dz2.png

4d_{z^2}

4dz2f.png

正面视图

4dx2y2.png4dxy.png

4dzx.png4dzy.png

其他几个轨道波函数。

4dxyt.png

正面视图

4d 杂化轨道作图

4dz2dx2y2.png4dz2dx2y2nuc.png

把 y 坐标范围改到 [0,10] ,切开图像,看到对称面上的概率密度。

4dz2dx2y2.png

差值。有着奇妙的艺术感。于是干脆改亿下配色。

Roseleaves.png

属于是糖果色了。

4dxyz.png4dxyznuc.png

相当有意思的,在于外面这层圆角立方体壳层的带孔。

4dnuc.png

把五个 d 轨道加在一起,切开看内部的丰富壳层。

总结

DensityPlot3D[ ] 是绘制三维概率密度图的绝佳方法。但是它在中文互联网上鲜有应用。这里谨作为抛砖引玉。希望看到更多好看的制图。

1 操作
Roseleaves 在 2021-10-17 02:15:23 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...