System.Name.v0.cube または System.Name.v1.cube のどちらかを用いて、
金属の仕事関数を計算できます。
仕事関数は次式で定義されます。
% mpirun -np 28 ./openmx Al111_WorkFunc_0E.dat計算が正常に完了すると、cubeファイル「Al111_WorkFunc_0E.v0.cube」が得られます。 cubeファイルを解析するため、ディレクトリ「source」中の後処理コード「gcube2oned.c」が利用できます。 このコードは以下のようにコンパイルできます。
% gcc gcube2oned.c -lm -o gcube2oned実行コード「gcube2oned」を作業ディレクトリにコピーして下さい。 「gcube2oned」を用いて三次元のcubeデータを選択した方向の一次元のデータに変換できます。 以下のとおり、1はa軸に相当し、残りの二次元のbc面上での積分が実行されます。
% gcube2oned Al111_WorkFunc_0E.v0.cube 1 > 1d_pot.txt
|
|
得られたファイル1d_pot.txtの第一、第二、第三列は格子点のシリアル番号、
a軸に沿った位置、そしてbc面上で平均された一次元ポテンシャル(Hartree)に対応します。
b軸またはc軸に沿った一次元ポテンシャルの場合はgcube2onedの引数に2または3を与えます。
図 55はAl(111)面の表面に垂直なa軸に沿った一次元ポテンシャルを示します。
空原子を構成する層の数は両表面に対して0から7まで系統的に変化させました。
図 54に示したように
真空領域に向かっての波動関数の裾が正確に記述できるように空原子から構成された層が考慮されます。
計算に用いられた入力ファイルは
「Al111_WorkFunc_%E.dat」であり、ここで % は 0 から7 まで変化し、
その値は空原子から構成された層数に対応します。
これらはすべてディレクトリ「work」中で利用可能です。
式 (11)のポテンシャルは70 Å周辺でのポテンシャルから得られます。
他方、化学ポテンシャル は出力ファイルから得られます。
70 Å周辺でのポテンシャルはほとんどゼロのため、
この場合は仕事関数は基本的に化学ポテンシャルから決定されます。
図 56は式 (11)を用いて計算された仕事関数を
空原子から構成される空層数の関数としてプロットしたものです。
Al(111)表面の仕事関数が二つの空層で収束に至ることが分かります。
これは収束結果を得るには二つの空層を加えることで十分であることを示唆します。
表11には五つの金属の仕事関数の計算結果と対応する実験値を示します。
すべての計算で7つの層を導入しました。計算値と実験値の良い一致が見られます。
計算に用いた入力ファイルは
「Al111_WorkFunc_7E.dat」、「Cu111_WorkFunc_7E.dat」、
「Ag111_WorkFunc_7E.dat」、「Au111_WorkFunc_7E.dat」、
「Pd111_WorkFunc_7E.dat」
で、これらは全てディレクトリ「work」中に保存されています。
ギャップのある系では式 (11)は厳密には有効ではありません。 しかしながら、式 (11)は近似的な扱いとして使用できます。 特に分極のある表面でのギャップのある系では、周期的スラブ間の相互作用を回避するため 47章で説明されたESM法を用いる必要があります。
OpenMX | Expt. | |
Al(111) | 4.19 | 4.260.03 [129] |
Cu(111) | 4.74 | 4.940.03 [130] |
Ag(111) | 4.51 | 4.460.02 [131] |
Au(111) | 5.33 | 5.260.04 [132] |
Pd(111) | 5.40 | 5.550.01 [133] |