以下は、tkWavefunction_H.py のコードに基づいて作成されたSphinx対応Markdownドキュメントです。


tkWavefunction_H モジュール

モジュール概要

水素原子の波動関数とエネルギー準位の計算を行うモジュールです。

関連リンク: :doc:tkWavefunction_H_usage

定数

このモジュールで使用される主要な物理定数と補助定数を以下に示します。

  • a0 (float): ボーア半径。オングストローム単位に変換されています。

  • h (float): プランク定数 (J·s)。

  • h_bar (float): ディラック定数 (J·s)。h / (2.0 * pi) で計算されます。

  • m_e (float): 電子の質量 (kg)。

  • e (float): 電子の電荷 (C)。

  • e0 (float): 真空の誘電率 (F/m)。

  • pi (float): 円周率 (numpy.pi)。

  • kRnl (float): 動径波動関数の規格化定数。1.0 / sqrt(4.0 * pi)

  • KPhi (float): 球面調和関数の方位角成分の規格化定数。1.0 / sqrt(2.0 * pi)

  • KYlm (float): 球面調和関数の極角成分の規格化定数。sqrt(4.0 * pi)

関数リファレンス

En(n)

主量子数に対する水素原子のエネルギー準位を計算する。

引数:

  • n (int): 主量子数

戻り値:

  • float: エネルギー準位 (eV)

get_orb_name(n, l, m)

量子数から軌道の名前(例: '1s', '2px'など)を取得する。

引数:

  • n (int): 主量子数

  • l (int または str): 方位量子数。s, p, d, f などの文字または対応する整数値。

  • m (int または str): 磁気量子数。-l から l までの整数値、または px, py などの軌道を示す文字列。

戻り値:

  • str: 軌道名 (例: '1s', '2py', '3dxy')

get_qnumbers(n, l, m)

軌道を表す文字列または数値から量子数(n, l, m)の組を取得する。

引数:

  • n (int): 主量子数

  • l (int または str): 方位量子数。s, p, d, f などの文字または対応する整数値。

  • m (int または str): 磁気量子数。-l から l までの整数値、または px, py などの軌道を示す文字列。

戻り値:

  • tuple: (n, l, m) の量子数の組

analyze_function(s)

文字列表現を解析し、波動関数のタイプとパラメータを取得する。

引数:

  • s (str): 解析対象の文字列 (例: '3dxy', '210r', '100a2')

戻り値:

  • tuple: (type_str, list_of_params) の形式で返す。

    • type_str: 'c' (量子数指定), 'r' (軌道名指定), 'f' (その他)

    • list_of_params: n, l, m, rettype など

get_by_type(f, rettype = 'c')

指定された戻り値の型に応じて複素数の成分を返す。

引数:

  • f (complex): 評価する複素数

  • rettype (str): 戻り値のタイプ ('r': 実部, 'i': 虚部, 'a': 絶対値, 'a2': 絶対値の2乗, 'c': 実部と虚部)

戻り値:

  • tuple: 要求された成分と位相 (例: (実部, 位相)(絶対値, 位相))、または実部と虚部のタプル (f.real, f.imag)

Rnl_if(r, n, l, Z = 1.0)

条件分岐による解析的な動径波動関数を計算する。 (サポートされているのは n=1, l=0; n=2, l=0,1; n=3, l=0,1,2; n=4, l=0 まで)

引数:

  • r (float または ndarray): 距離

  • n (int): 主量子数

  • l (int): 方位量子数

  • Z (float): 原子番号 (デフォルトは 1.0)

戻り値:

  • float または ndarray: 動径波動関数の値。サポート外の場合は None

Rnl(r, n, l)

ラゲールの陪多項式を用いて動径波動関数を計算する。

引数:

  • r (float または ndarray): 距離

  • n (int): 主量子数

  • l (int): 方位量子数

戻り値:

  • float または ndarray: 動径波動関数の値

Ylm_phi_r(phi, m)

球面調和関数の実数型の方位角成分を計算する。

引数:

  • phi (float または ndarray): 方位角

  • m (int): 磁気量子数

戻り値:

  • float または ndarray: 方位角成分の値

Ylm_phi(phi, m)

球面調和関数の複素数型の方位角成分を計算する。

引数:

  • phi (float または ndarray): 方位角

  • m (int): 磁気量子数

戻り値:

  • complex または ndarray: 方位角成分の値

Ylm_theta(theta, l, m)

ルジャンドルの陪関数を用いて球面調和関数の極角成分を計算する。

引数:

  • theta (float または ndarray): 極角

  • l (int): 方位量子数

  • m (int): 磁気量子数

戻り値:

  • float または ndarray: 極角成分の値

Ylm(theta, phi, l, m, phase_m = 0.0)

複素数型の球面調和関数を計算する。

引数:

  • theta (float または ndarray): 極角

  • phi (float または ndarray): 方位角

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase_m (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • complex または ndarray: 球面調和関数の値

Ylm_r(theta, phi, l, m, phase_m = 0.0)

実数型の球面調和関数を計算する。

引数:

  • theta (float または ndarray): 極角

  • phi (float または ndarray): 方位角

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase_m (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 実数型の球面調和関数の値

Ylm_xyz(x, y, z, l, m, phase_m = 0.0)

直交座標系から実数型の球面調和関数を計算する。

引数:

  • x (float または ndarray): x座標

  • y (float または ndarray): y座標

  • z (float または ndarray): z座標

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase_m (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 球面調和関数の値

Ylm_real(theta, phi, l, m, phase_m = 0.0)

複素数型の球面調和関数から実関数表現(実部・虚部の組み合わせ)を計算する。 m >= 0 の場合は実部、m < 0 の場合は -m に対応する虚部を返す。

引数:

  • theta (float または ndarray): 極角

  • phi (float または ndarray): 方位角

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase_m (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 実関数表現の球面調和関数の値

Ylm_xyz_real(x, y, z, l, m, phase_m = 0.0)

直交座標系から実関数表現の球面調和関数を計算する。 m >= 0 の場合は実部、m < 0 の場合は -m に対応する虚部を返す。

引数:

  • x (float または ndarray): x座標

  • y (float または ndarray): y座標

  • z (float または ndarray): z座標

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase_m (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 実関数表現の球面調和関数の値

psi_r(r, theta, phi, n, l, m, phase = 0.0)

球座標系での水素原子の複素波動関数を計算する。

引数:

  • r (float または ndarray): 距離

  • theta (float または ndarray): 極角

  • phi (float または ndarray): 方位角

  • n (int): 主量子数

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • complex または ndarray: 波動関数の値

psi_xyz(x, y, z, n, l, m, phase = 0.0)

直交座標系での水素原子の複素波動関数を計算する。

引数:

  • x (float または ndarray): x座標

  • y (float または ndarray): y座標

  • z (float または ndarray): z座標

  • n (int): 主量子数

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • complex または ndarray: 波動関数の値

psi_r_real(r, theta, phi, n, l, m, phase = 0.0)

球座標系での水素原子の実関数表現の波動関数を計算する。 m >= 0 の場合は実部、m < 0 の場合は -m に対応する虚部を返す。

引数:

  • r (float または ndarray): 距離

  • theta (float または ndarray): 極角

  • phi (float または ndarray): 方位角

  • n (int): 主量子数

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 実関数表現の波動関数の値

psi_xyz_real(x, y, z, n, l, m, phase = 0.0)

直交座標系での水素原子の実関数表現の波動関数を計算する。 m >= 0 の場合は実部、m < 0 の場合は -m に対応する虚部を返す。

引数:

  • x (float または ndarray): x座標

  • y (float または ndarray): y座標

  • z (float または ndarray): z座標

  • n (int): 主量子数

  • l (int): 方位量子数

  • m (int): 磁気量子数

  • phase (float): 位相シフト (デフォルトは 0.0)

戻り値:

  • float または ndarray: 実関数表現の波動関数の値