水素原子の波動関数

2pxの波動関数を表示したものです
クリックするとアニメーションが見えます

電子雲のギャラリー

極座標表示の波動関数を表示します。
座標を立方体メッシュに分割して、 極座標表示の波動関数の絶対値の2乗から メッシュ内の電子の存在確率を求め、 それに比例した数の点をランダムにプロットすることで、 点の密度で存在確率を表現しています。

これを使って水素原子の波動関数を表示してみよう。

波動関数 ψ(r,θ,φ) には "_r_" (r), "_theta_" (θ), "_phi_" (φ), "_pi_" (π) が使えます。 また、ボーア半径を1とします。 関数の表現はC言語に従います。
例えば、1s の波動関数 ψ(r,θ,φ) = 2 e-r / (4π)-1/2 を 表すには、

2.0 * exp(- _r_) / sqrt(4.0 * _pi_)
と入力します。 ただし、改行は入れないでください。
exp(), sqrt() などの関数の 詳しい使い方は "方程式の数値解" を 参考にしてください。

動径方向の最大値(R_MAX)は関数によって正の値を選んでください。
x, y, zの範囲が -R_MAX から +R_MAX になります。
上の例では "8" 程度が適当なようです。

電子数(NUMBER) は全空間のおおよその電子数です。
実際にプロットされる電子数は多少変化します。
"50000" くらいが適当です。 アニメーションの場合は "25000" くらいが適当です。 この値は 80000 以下にして下さい。
波動関数 ψ(r,θ,φ)
動径方向の最大値(R_MAX)
電子数(NUMBER)
グラフタイトル
アニメーション

関数、定数の定義

(例)
s1(x, y, z) (2.0 * exp(- _r_) / sqrt(4.0 * _pi_))
[以下の関数があらかじめ定義されています]
_1S_(x, y, z) (2.0 * exp(-_r_) / sqrt(4.0 * _pi_))
_2S_(x, y, z) (0.5 / sqrt(2) * (2 - _r_) * exp(-0.5 * _r_) / sqrt(4.0 * _pi_))
_2PX_(x, y, z) (0.5/sqrt(6) * _r_ * exp(-0.5 * _r_) * sqrt(0.75 / _pi_) * sin(_theta_) * cos(_phi_))
_2PY_(x, y, z) (0.5/sqrt(6) * _r_ * exp(-0.5 * _r_) * sqrt(0.75 / _pi_) * sin(_theta_) * sin(_phi_))
_2PZ_(x, y, z) (0.5/sqrt(6) * _r_ * exp(-0.5 * _r_) * sqrt(0.75 / _pi_) * cos(_theta_))