水素原子の電子の確率密度関数のプロット

Visual Studio 2022で、WPF, Material Design In XAML Toolkit, MahApps.Metro, Prism, ScottPlotを使って水素原子の電子の確率密度関数をプロットするプログラムを作成しました。

このプログラムで表示しているのはy=0のxz平面上での確率密度関数の値です。ヒートマップで表示しています。xz軸の長さはボーア半径を1としています。

1. Windows 10とWindows 11用の実行ファイルを下記のページに置きました。

https://www.leafwindow.com/softwares/msix/hydrogen-atom-electron-probability-density/

実行ファイルのインストール手順はこちらのページと同様です。

Windows 11 Version 22H2で動作確認しました。MSIXパッケージを作成するときのターゲットOSには添付の画像のようにWindows 10 Version 1803からWindows 11 Version 22H2までを指定したので、Windows 10 Version 1803以降のWindows OSなら動作するかと思います。

2. ソースコードは下記のgithubリポジトリに置きました。

https://github.com/fukagai-takuya/quantum-mechanics-practice

3. 実行ファイルの内容

3.1. プログラムを起動すると、主量子数(Principal Quantum Number (n))を1、方位量子数(Azimuthal Quantum Number (l))を0、磁気量子数(Magnetic Quantum Number (m))を0とする電子のxz平面における確率密度関数が表示されます。

3.2. 主量子数(n)を2にすると図のようになります。ヒートマップの横のバーの最大値は変化しますが、ヒートマップの色の分布はn=1, l=0, m=0のときとほとんど変わりません。

3.3. ボーア半径(Bohr Radius)を1とするxz軸の長さ(Plot Area Length)を20にすると、ボーア半径が2の付近で確率密度が低くなり、また少し増加していることが見て取れます。

3.4. 下の図はヒートマップの最大値を0.01に変更した図になります(Change Max Value)。ボーア半径が2の付近で確率密度が低くなっていることがよりはっきりと見て取れます。最初にプロットされる量子数がn=1, l=0, m=0のときの分布とはこの点が大きく異なります。

3.5. 量子数n=3, l=0, m=0のときのヒートマップです。xz軸の長さを40、ヒートマップの最大値を0.001にしています。

3.6. 量子数n=4, l=0, m=0のときのヒートマップです。xz軸の長さを80、ヒートマップの最大値を0.001にしています。

3.7. 主量子数nを2, 3, 4と変更し、方位量子数lに0以外の値をセットしたときの確率密度関数です。磁気量子数mには0と正の整数のみをセットしています。mに負の整数をセットしたときも絶対値の等しい正の整数をセットしたときとここで得られる確率密度関数は同じになります。

3.8. ScottPlotに用意されている様々な色のカラーマップを選択して、主量子数n=4, 方位量子数l=2, 磁気量子数m=0のときの確率密度関数のxz平面上の値をプロットした図です。アプリでColor Mapの選択を変えると色が変わります。ここでスナップショット写真にしなかったColor Mapもあります。