Trans指定ファイル¶
ここではハミルトニアン
(2.3)¶\[\begin{aligned} \mathcal{H} = -\sum_{ij\sigma_1\sigma_2} t_{ij\sigma_1\sigma_2}c_{i\sigma_1}^{\dagger}c_{j\sigma_2}\end{aligned}\]
に対するTransfer積分\(t_{ij\sigma_1\sigma_2}\)を指定します。以下にファイル例を記載します。
========================
NTransfer 24
========================
========i_j_s_tijs======
========================
0 0 2 0 1.000000 0.000000
2 0 0 0 1.000000 0.000000
0 1 2 1 1.000000 0.000000
2 1 0 1 1.000000 0.000000
2 0 4 0 1.000000 0.000000
4 0 2 0 1.000000 0.000000
2 1 4 1 1.000000 0.000000
4 1 2 1 1.000000 0.000000
4 0 6 0 1.000000 0.000000
6 0 4 0 1.000000 0.000000
4 1 6 1 1.000000 0.000000
6 1 4 1 1.000000 0.000000
6 0 8 0 1.000000 0.000000
8 0 6 0 1.000000 0.000000
…
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行:
[ntransfer] [count]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降:
[i] [s1] [j] [s2] [v.real] [v.imag]
パラメータ¶
[ntransfer]
形式 : string型 (空白不可)
説明 : Transfer総数のキーワード名を指定します(任意)。
[count]
形式 : int型 (空白不可)
説明 : Transferの総数を指定します。
[i]
,[j]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[s1]
,[s2]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。 0=アップスピン, 1=ダウンスピン のいずれかの値を取ります。
[v.real]
形式 : float型 (空白不可)
説明 : \(t_{ij\sigma_1\sigma_2}\)の実部を指定します。
[v.imag]
形式 : float型 (空白不可)
説明 : \(t_{ij\sigma_1\sigma_2}\)の虚部を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
Hamiltonianがエルミートという制限から\(t_{ij\sigma_1\sigma_2}=t_{ji\sigma_2\sigma_1}^{\dagger}\)の関係を満たす必要があります。上記の関係が成立しない場合には、
strict_hermite
パラメータの値に応じて、エラー終了またはメッセージを表示します。成分が重複して指定された場合にはエラー終了します。
[count]
と定義されているTransferの総数が異なる場合はエラー終了します。[i]
,[j]
,[s1]
,[s2]
を指定する際、範囲外の整数を指定した場合はエラー終了します。