「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)に基づいて を計算します。 一方、「off」の場合には式 (5)に基づいて を計算します。 このフラグはクラスター計算では役割を持っていません。 クラスター計算では、 は式 (3)から計算されます。
Num.Poles 60このキーワードでは式 (5)に現れるフェルミ関数の有限極近似 [74]に対する 極の数 を指定します。 極の数の増加に從い計算精度が向上しますが、計算時間は極の数に比例して増加します。 適切な極の数は系によりますが、bcc構造のFeでは0.05meVの精度を達成するにはおよそ60程度です。 300Kの電子温度においては多くの系で60個の極で十分な精度が得られますが、一度、 御自身でその収束性を確認されることをお勧めします。
Num.Kgrid 27 27 27このキーワードは第一Brillouin領域の離散化に対する点の数を指定します。 ここで指定する点数は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のサイト , と のセルベクトル を指定します。ここで、 , 及び はOpenMX入力での単位格子ベクトルです。 このフィールドのデータの並び方は の順です。 クラスターあるいは周期イメージ計算では以下の様に別のフィールドを指定します。
<ijpairs.nocellid 1 1 1 2 ijpairs.nocellid>これらの 計算ではセルベクトルが現れないため、明示的に指定する必要がありません。
Bunch.ij.pairs 236 # default=Num.ij.pairs既定の設定ではメモリ消費が多くなり、計算が出来ない場合があります。 メモリ消費量を低減させるために、上記のキーワードが利用可能です。 この値は
Num.ij.pairs
と同じか、より小さい値であるべきです。
小さい「Bunch.ij.pairs」を用いるとメモリ消費量は低減されますが、計算時間が長くなる傾向があります。