tb_harrison プログラム仕様

Slater-Kosterタイトバインディングモデルを実装するモジュール。

s, p, d軌道を持つ有限クラスター(分子)用の最小限のSlater-Kosterタイトバインディング(TB)モデルを提供します。 直交基底(S = I)と実対称ハミルトニアン(H)を仮定します。ハリスン則による積分パラメータのスケーリングに対応しています。

TB Harrison Scaling Program ドキュメント

class Quantum.tb_harrison.SlaterKosterTB[ソース]

ベースクラス: object

Slater-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: 構築されたハミルトニアン行列。

orbital_labels()[ソース]

各原子の軌道に対応するラベルのリストを生成します。

各原子の位置と軌道タイプを組み合わせて、ハミルトニアン行列の各要素に対応する 識別のための文字列ラベルを生成します。 例: "Ba(0.000,0.000,0.000)_s", "N(0.000,0.000,0.800)_px"

戻り値:

list[str]: 各軌道に対応するラベルのリスト。

Quantum.tb_harrison.main()[ソース]

SlaterKosterTB クラスの使用例を示します。

SlaterKosterTB クラスを初期化し、複数の原子をモデルに追加します。 定義済みのSlater-Kosterパラメータとオンサイトエネルギーを使用してハミルトニアンを構築し、 scipy.linalg.eigh を使用してハミルトニアンを対角化し、固有値(軌道エネルギー)と固有ベクトルを計算します。 結果として得られたエネルギーと、それぞれの固有状態における支配的な軌道成分を表示します。