next up previous contents index
Next: Jxの実行とMPI並列計算 Up: 交換結合パラメータ Previous: Jx入力を生成するOpenMX計算   Contents   Index

Jxの設定ファイルの準備

「jx」を実行するために設定ファイルを用意します。この設定ファイル中に様々な制御パラメータを指定します。 設定ファイルはOpenMXの入力ファイルと同じ書式を持っています。

例として「jx.config」を以下に示します。「jx.config」はディレクト「work」中に保存されています。

                                   
     Flag.PeriodicSum           off       # default - off
     Num.Poles                  60 
     Num.Kgrid                  27 27 27
     Num.ij.pairs               236
     Bunch.ij.pairs             236
     <ijpairs.cellid
       1 1 -2 -2 -2
       1 1 -2 -2 -1
       1 1 -2 -2 0
        ...
        ...
       2 2 0 -1 2
       2 2 0 0 -2
       2 2 0 0 -1
     ijpairs.cellid>

それぞれのキーワードを以下に説明します。

     Flag.PeriodicSum           off       # default - off
このフラグは交換結合をどのように計算するかを決定します。 周期系でこのフラグが「on」の場合、本プログラム「jx」は式 (8)に基づいて$J_{ij}$ を計算します。 一方、「off」の場合には式 (5)に基づいて $J_{i\mathbf{0},j\mathbf{R}}$を計算します。 このフラグはクラスター計算では役割を持っていません。 クラスター計算では、$J_{ij}$ は式 (3)から計算されます。
 
     Num.Poles                  60
このキーワードでは式 (5)に現れるフェルミ関数の有限極近似 [74]に対する 極の数 $N_{\mathrm{P}}$を指定します。 極の数の増加に從い計算精度が向上しますが、計算時間は極の数に比例して増加します。 適切な極の数は系によりますが、bcc構造のFeでは0.05meVの精度を達成するにはおよそ60程度です。 300Kの電子温度においては多くの系で60個の極で十分な精度が得られますが、一度、 御自身でその収束性を確認されることをお勧めします。
     Num.Kgrid                  27 27 27
このキーワードは第一Brillouin領域の離散化に対する${\bf k}$点の数を指定します。 ここで指定する${\bf k}$点数はSCF計算の際と同じ値、もしくはそれ以上の値を指定して下さい。 クラスター計算では自動的にガンマ点のみが考慮されますので、このキーワードに役割はありません。
     Num.ij.pairs               236        # NOTE: Number of ij pairs.
このキーワードは計算する交換結合定数Jの数を指定します。 この値は キーワード<ijpairs.cellid とd ijpairs.cellid> の間の行数と同数でなければなりません。
     <ijpairs.cellid
       1 1 -2 -2 -2
       1 1 -2 -2 -1
       1 1 -2 -2 0
        ...
        ...
       2 2 0 -1 2
       2 2 0 0 -2
       2 2 0 0 -1
     ijpairs.cellid>
このフィールドでは計算する交換結合定数Jのサイト $i$, $j$ $J_{i\mathbf{0},j\mathbf{R}}$のセルベクトル $\mathbf{R}=l_1\mathbf{a}_{1}+l_2\mathbf{a}_{2}+l_3\mathbf{a}_{3}$ を指定します。ここで、 $\mathbf{a}_{1}$, $\mathbf{a}_{2}$ 及び $\mathbf{a}_{3}$ はOpenMX入力での単位格子ベクトルです。 このフィールドのデータの並び方は $i$ $j$ $l_1$ $l_2$ $l_3$の順です。 クラスターあるいは周期イメージ計算では以下の様に別のフィールドを指定します。
     <ijpairs.nocellid
       1 1
       1 2
     ijpairs.nocellid>
これらの$J_{ij}$ 計算ではセルベクトルが現れないため、明示的に指定する必要がありません。

     Bunch.ij.pairs           236        # default=Num.ij.pairs
既定の設定ではメモリ消費が多くなり、計算が出来ない場合があります。 メモリ消費量を低減させるために、上記のキーワードが利用可能です。 この値は Num.ij.pairsと同じか、より小さい値であるべきです。 小さい「Bunch.ij.pairs」を用いるとメモリ消費量は低減されますが、計算時間が長くなる傾向があります。