ダイヤモンド構造の炭素を例として、DOSの計算方法を説明します。 「work」ディレクトリ内のファイル「Cdia.dat」には、次の様にDOS計算のためのキーワードが指定されています。
Dos.fileout on Dos.Erange -25.0 20.0 Dos.Kgrid 12 12 12キーワード「Dos.Erange」で指定された最初と2番目の数値は、それぞれDOS計算のためのエネルギー範囲(eV)の下限と上限であり、 エネルギーの原点(0.0)は化学ポテンシャルに対応します。 またキーワード「Dos.Kgrid」で指定された数値(n1,n2,n3)は、DOS計算での第1ブリルアンゾーンを離散化するための グリッド数です。
次にOpenMXを以下の様に、通常実行します。
% ./openmx Cdia.datここでは単一コアを使用した計算例を示しましたが、もちろん並列計算も実行可能です。 計算が正常に終了すると、「work」ディレクトリに「cdia.Dos.val」および「cdia.Dos.vec」の2つのファイルが生成されます。 「cdia.Dos.val」にはテキスト形式で固有値が、「cdia.Dos.vec」にはバイナリ形式で固有ベクトルが保存されています。 このDOS計算は、O()計算にも対応しており、この場合にはガウシアンブロードニング法(Gaussian broadening method)が 適用されます。
DOS計算用のプログラムパッケージをコンパイルして下さい。「source」ディレクトリ内で、次のコマンドでコンパイルします。
% make DosMainコンパイルが正常に終了すると、「source」ディレクトリ内に実行ファイル「DosMain」が生成されます。 「DosMain」を「work」ディレクトリにコピーして、「work」ディレクトリに移動してください。 このプログラム「DosMain」を使って先の2個のファイル「cdia.Dos.val」および「cdia.Dos.vec」から 全状態密度(DOS)と射影したDOS(PDOS)を次の様に計算します。
% ./DosMain cdia.Dos.val cdia.Dos.vecその際に、プログラムから対話形式で次のように質問されることでしょう。
% ./DosMain cdia.Dos.val cdia.Dos.vec Max of Spe_Total_CNO = 8 1 1 101 102 103 101 102 103 <cdia.Dos.val> <cdia> Which method do you use?, Tetrahedron(1), Gaussian Broadeninig(2) 1 Do you want Dos(1) or PDos(2)? 2 Number of atoms=2 Which atoms for PDOS : (1,...,2), ex 1 2 1 pdos_n=1 1 <Spectra_Tetrahedron> start Spe_Num_Relation 0 0 1 Spe_Num_Relation 0 1 1 Spe_Num_Relation 0 2 101 Spe_Num_Relation 0 3 102 Spe_Num_Relation 0 4 103 Spe_Num_Relation 0 5 101 Spe_Num_Relation 0 6 102 Spe_Num_Relation 0 7 103 make cdia.PDOS.Tetrahedron.atom1.s1 make cdia.PDOS.Tetrahedron.atom1.p1 make cdia.PDOS.Tetrahedron.atom1.p2 make cdia.PDOS.Tetrahedron.atom1.p3 make cdia.PDOS.Tetrahedron.atom1DOSの計算には四面体法(tetrahedron method)[48]もしくはガウシアンブロードニング法(Gaussian broadening method)が選択できます。 またユーザーはDOSまたはPDOSを選ぶことができます。PDOSの計算を選択する場合は、PDOSを評価する原子を選択してください。 この場合には、選択した原子の軌道(s, px(p1), py(p2), pz(p3),..)上に射影したPDOSが各ファイルに出力されます。 これらのファイルでは、最初と二番目の列は、エネルギー(eV)、およびDOS(eV)またはPDOS(eV)の値であり、 3番目の列の数値はDOSまたはPDOSの積分値を示します。 「LSDA-CA」、「LSDA-PW」、または「GGA-PBE」を用いたスピン分極計算を行った場合、これらのファイルの第2列および第3列の数値は、 それぞれアップスピン状態およびダウンスピン状態のDOSとPDOSに対応し、第4列と第5列の数値はそれぞれに対応する積分値です。 ガウシアンブロードニング法を使用した場合、ガウス分布のパラメーター値、(eV)( で定義されるガウス分布の 幅を決めるパラメーター)を設定しなければなりません。ここで説明した手続きによって得られたダイヤモンド炭素のDOSおよびPDOSを図13に示します。