For the execution of 'jx' in OpenMX 3.9 implementation, it is necessary to specify a couple of parameters in a configuration file,
which should be written in the same format to that of OpenMX input files.
An example of 'jx.config' is shown below:
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>
Each keyword is explained below:
Flag.PeriodicSum off # default - off
This flag determines how you calculate the exchange couplings.
When 'on' for periodic systems, the program derives the
based on Eq. (8).
When 'off' for periodic systems, the program derives the
based on Eq. (5).
This flag has no role in cluster calculations. For cluster calculations,
the program calculates
by Eq. (3).
Num.Poles 60
This keyword specifies the number of poles
for the finite pole approximation
of Fermi function [74], appearing in Eq. (5).
The computation becomes more accurate as increasing the number of poles at the cost of execution time.
The most appropriate value depends on the system, and for bcc-Fe a proper value is evaluated as
about 60 to attain the accuracy of 0.05 meV. For the electronic temperature of 300 K, the 60 poles
might be enough in most cases.
However, you can take larger value so as to attain further computational accuracy,
because the computational times to construct each exchange coupling were proven much
smaller than that of eigenvalue calculation.
Num.Kgrid 27 27 27
This keyword specifies the number of
-grids. These values should be same or a bit larger
than those in OpenMX calculation. No role in cluster calculations.
Num.ij.pairs 236 # NOTE: Number of ij pairs.
This keyword specifies how many exchange coupling constants to be calculated.
The value must be same as the number of rows between
the keywords <ijpairs.cellid
and 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>
This field specifies the sites
,
, and
cell vector
of
, where
,
and
are unit lattice vectors in the OpenMX input.
The data order of this field is as follows:
.
In the case of cluster or periodic image calculations, you should use alternative field as follows:
<ijpairs.nocellid
1 1
1 2
ijpairs.nocellid>
because they do not use cell vectors in
calculations.
Bunch.ij.pairs 236 # default=Num.ij.pairs
This is an optional keyword to use when the memory consumption is too large at the default setting.
This value should be same to or smaller than Num.ij.pairs
.
The smaller Bunch.ij.pairs results in smaller memory consumption with larger calculation time.