非平衡グリーン関数法(non-equilibrium Green function method、 NEGF法)に基づき、 分子、ナノワイヤ、超格子構造などの電子に由来する電気伝導特性を計算することが可能です。 電気伝導計算の機能はコリニアとノンコリニア計算のどちらにもサポートされています。 その特徴と機能を以下に列挙します。
各機能の実装の詳細については、文献 [54]を参照して下さい。
まずコニリア計算の場合について、各機能の使用法を説明します。
その後に、ノンコリニア計算に関して、補足説明します。
考察する系
OpenMX Ver. 3.7の実装では、図29(a)に示す系をNEGF法により取り扱います。 この系は左右の無限電極部分とそれに接続する中心部からなり、またbc面上での二次元周期性が仮定されています。 二次元周期性を考慮すると、この系は図29(b)に示すBloch波数ベクトルに依存する一次元問題に変換することができます。 中心領域と左右の領域およびとの境界面近くの電子構造の緩和を考慮するために、OpenMX Ver. 3.7の実装では、 領域 のグリーン関数が自己無撞着に決定されます。 現実装においては、ユニットセルのa軸が電子輸送の方向であると仮定されていることに留意してください。 計算モデルの幾何構造を作成する際には、この仕様を守らなければなりません。 これに関連して、「ステップ 1:リード線部の計算」の節も参照して下さい。
計算の流れ
NEGF計算は次の三段階で実行します。
ステップ 1 ステップ 2 ステップ 3
各ステップを以下に説明します。
左右の電極部分のバンド構造計算を、プログラムコード「openmx」を用いて実行。 得られた計算結果は、ステップ 2のNEGF計算における電極部分に使用。
図29に示した系に対して、ゼロまたは有限バイアス電圧下でのNEGF計算をプログラムコード「openmx」を用いて実行。 この際に、ステップ 1で計算した結果を電極部分の構築に使用する。
ステップ 2で得た結果を利用し、プログラムコード「TranMain」を用いて、透過率と電流を計算。
例:炭素鎖
最初の試みとして炭素鎖を例にとり、上述の三つのステップについて説明します。 説明を始める前に、ステップ 3で用いる「TranMain」を、「source」ディレクトリにおいて、次のようにコンパイルして下さい。
% make TranMainコンパイルが成功すると「TranMain」の実行ファイルができますので、このファイルをユーザーの作業ディレクトリ、 例えば「work」にコピーしてください。その後に次の三つの計算を実行して下さい。
ステップ 1
%./openmx Lead-Chain.dat | tee lead-chain.stdステップ 1の計算により、ファイル「negf-chain.hks」が生成します。
ステップ 2
%./openmx NEGF-Chain.dat | tee negf-chain.stdステップ 2の計算により、ファイル「negf-chain.tranb」が生成します。
ステップ 3
%./TranMain NEGF-Chain.datステップ 3の計算により、「negf-chain.tran0_0」、「negf-chain.current」、「negf-chain.conductance」が生成します。
ディレクトリ「work/negf_example」中の入力ファイルを用いると、この計算を再現することができます。 ステップ 3の計算で得られた「negf-chain.tran0_0」の六列目を四列目の関数としてプロットすると、 図30に示す透過率曲線が得られます。