求解氢的电子密度函数并绘制 3D

计算科学 C++ C 数值建模
2021-12-07 06:32:44

我最近偶然发现了一个有趣的站点,该站点具有径向电子分布(原子轨道)的交互式 3D 表示。

这是网址:http ://winter.group.shef.ac.uk/orbitron/AOs/1s/e-density-dots.html (需要java)点击“方程式”或此链接http:// winter.group.shef.ac.uk/orbitron/AOs/1s/equations.html给出了这些计算所需的方程。

我试图以某种方式获得 3D 坐标来绘制电子云,但无法做到这一点,我需要一些帮助。

知道我将如何使用这些函数来获得 3d 电子云吗?任何帮助表示赞赏!

1个回答

今天早上我对此进行了尝试,但没有达到我想要的程度,如果您愿意,可以考虑使用 MathGL[1]在 C++ 中尝试实现我的以下建议(由于对 MathGL 的支持不多,这很困难),但同样的事情可以很容易地在 python、octave 或 matlab 中完成。这个问题的一般处理方法是在 x、y 和 z 上制作一个 3D 网格(x、y 和 z 中的每一个都是 N × N × N 矩阵),然后求解Ψ(x,y,z)2在每一点,这是为您提供的网站上的每个量子数明确写的。接下来要做的是规范化Ψ(x,y,z)2使每个点的颜色对应的值Ψ(x,y,z)2那里(例如0到1,代表白到灰到黑),所以Ψ(x,y,z)2接近 0 为白色,Ψ(x,y,z)2~ .5 是灰色的,并且Ψ(x,y,z)2~ .9 是黑色的。在其他语言(如 python、octave 或 matlab)中,这可以通过“scatter”/“scatter3”函数轻松完成,并使用“alpha”值设置点透明度。

[1] http://uni-smr.ac.ru/archive/science/visualization/MathGL/mathgl-2.0.eng.pdf