ステップ 1の計算は、通常のバンド構造計算と同じものです。ただし入力ファイルに 二つのキーワード「NEGF.output_hks」と「NEGF.filename.hks」 を付け加えます。
NEGF.output_hks on NEGF.filename.hks lead-chain.hks上記のキーワードを付け加えることで、電極部分を構築するための情報がファイルに保存されます。 ハミルトニアン行列要素、電子分布、および差電子Hartreeポテンシャルが、キーワード「NEGF.filename.hks」で 指定されるファイルに保存されます。 上記の場合には、ファイル「lead-chain.hks」が生成されます。 「*.hks」という拡張子のファイルは、ステップ 2の計算で使用されることになります。 現実装では電子輸送の方向はa軸方向に仮定されていますので、 バンド構造計算においては、この仕様を念頭において電極モデルを構築する必要があります。 しかし、ユーザー自身で構造を回転させる必要はありません。格子ベクトルの指定を変更するだけで、 簡単に電子輸送の方向を適切に設定することが可能です。 例えば、次の格子ベクトルにおいて、a軸としてベクトル(0.0, 0.0, 10.0)を指定したい場合には
<Atoms.UnitVectors 3.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 10.0 Atoms.UnitVectors>以下のようにベクトルの順番を入れ替えるだけで、電子輸送の方向を適切に設定できます。
<Atoms.UnitVectors 0.0 0.0 10.0 3.0 0.0 0.0 0.0 3.0 0.0 Atoms.UnitVectors>この様に指定すれば、(0.0, 0.0, 10.0)の方向が電子輸送の方向になります。 上の例で示したように、格子ベクトルの順序を変更する際には、キーワード「scf.Kgrid」も同様に 変更しなければならないことに注意して下さい。
ステップ 2の計算において、表面グリーン関数を用いることにより、電極部分の半無限性を考慮しています。 そのため、ステップ 2の計算ではa軸方向に関しては波数空間の離散化を導入することなしに、 半無限性を取り扱うことができるようになります。 a軸方向の半無限性の取扱いに関し、ステップ 1とステップ 2での計算の整合性を保つために、 ステップ 1のバンド構造計算ではa軸方向に多数のk点を割り当るようにして下さい。 また、bc面上のk点数は、ステップ 1とステップ 2の計算において同一の値を使用して下さい。