tb_harrison プログラム仕様
Slater-Kosterタイトバインディングモデルを実装するモジュール。
s, p, d軌道を持つ有限クラスター(分子)用の最小限のSlater-Kosterタイトバインディング(TB)モデルを提供します。 直交基底(S = I)と実対称ハミルトニアン(H)を仮定します。ハリスン則による積分パラメータのスケーリングに対応しています。
TB Harrison Scaling Program ドキュメント
- class Quantum.tb_harrison.SlaterKosterTB[ソース]
ベースクラス:
objectSlater-Kosterタイトバインディング法を実装するクラス。
s, p, d軌道を持つ有限クラスター(分子)用の最小限のSlater-Kosterタイトバインディング(TB)モデルを提供します。 直交基底(S = I)と実対称ハミルトニアン(H)を仮定します。
ハリスン則によるスケーリングをサポートしており、sk_params の "harrison" エントリを通じて積分キーごとの指数を指定できます。
harrison パラメータの例:
"harrison": { "d0": 1.0, "power_default": 2.0, "power_map": { "sd_sigma": 3.5, "pd_sigma": 3.5, "pd_pi": 3.5, # "dd_sigma": 5.0, "dd_pi": 5.0, "dd_delta": 5.0, # if you implement dd later }, # オプション: キーごとのd0 # "d0_map": {"pd_sigma": 2.0} }
harrison が省略された場合、スケーリングは行われません(スケールは1)。 後方互換性のため、{"d0":..., "power":...} のみが与えられた場合、それがデフォルトとして使用されます。
- add_atom(symbol, orb_type, x, y, z)[ソース]
モデルに原子を追加します。
指定された記号、軌道タイプ、および空間座標を持つ原子を内部リストに追加します。 軌道タイプが`orbitals`辞書に存在しない場合はエラーを発生させます。
- パラメータ:
symbol -- str: 原子の元素記号。
orb_type -- str: 原子の軌道タイプ(例: "s", "p", "d")。
x -- float: 原子のX座標。
y -- float: 原子のY座標。
z -- float: 原子のZ座標。
- 戻り値:
None
- 例外:
ValueError -- 未知の軌道タイプが指定された場合。
- build_hamiltonian(sk_params, onsite_energies)[ソース]
システムのハミルトニアン行列を構築します。
追加された原子とその軌道情報、Slater-Kosterパラメータ、オンサイトエネルギーに基づいて、 全体のハミルトニアン行列を構築します。 まず、オンサイト項を対角要素に設定します。次に、異なる原子間のオフサイト項を _get_sk_elements を使用して計算し、行列を埋めます。 ハミルトニアンは実対称行列として構築されます。
- パラメータ:
sk_params -- dict: Slater-Kosterパラメータを含む辞書。
onsite_energies -- dict: 原子の記号と軌道タイプごとのオンサイトエネルギーを含む辞書。
- 戻り値:
numpy.ndarray: 構築されたハミルトニアン行列。