HeisenbergInteractionParametersJij

Heisenberg interaction parameters Jij

Calculation of Heisenberg interaction parameters:

1) Collinear calculation You will use as a starting point the charge density obtained in a collinear calculation. You may start from a ferro- or antiferromagnetic state. In the case of an ideal Heisenberg system it wouldn't matter which one of the two you chose, but it is almost certain that your system is not an ideal Heisenberg system. Therefore, it is wise to chose the starting collinear state which is closer to the ground state of your system.

   In the initial collinear calculation take care that you don't use
   symmetries which group magnetic atoms of the basis into the same atom-type;
   all the magnetic atoms in the input file should be inequivalent!
   Whichever symmetries are left, use them!

   The files you should keep after the collinear calculation are:
   inp, enpara, cdn1, sym.out (in any case, DO DELETE fl7para and kpts file!).
   Rename cdn1 to rhomat_inp.

2) In the inp-file:

(a) l_noco=T,l_J=T

  (b) As for any non-collinear calculation, ctail=F

  (c) Define the number of k-points (nkpt) you want to use; <a href="../files/#kpts">kpts</a> file will be
      generated with k-points from the whole Brillouin zone.

  (d) Define in the last line the number of spin-spiral vectors (nqpt)
      you want to use; <a href="../files/#qpts">qpts</a> file will be generated with spin-spiral vectors ("qss")
      from  the irreducible wedge of the Brillouin zone.

3) Create a nocoinp file (use the switches for Jij calculation)

4) You are now ready to run!

CAUTION:

-- In Jij calculation force theorem is used. This usually means that your
      k-points set should be considerably larger than in a self-consistent calculation.
      It is advisable to check the convergence of a magnon dispersion
      curve with respect to the number of k-points you use before you
      proceed with the calculation of Jij. This means: take a direction in the
      reciprocal space (it is convenient to take a high-symmetry direction) and
      calculate self-consistently a dispersion curve on a set of few qss
      along this direction. Save this set in the qpts file (take care it has the right format!).
      For this calculation use the same cone angle you will use for the
      Jij calculation. This angle shouldn't be too big - usually 30 degrees works fine. 
      Now see which is the smallest set of k-points you have to use to reproduce this 
      curve with the Force theorem. To make this test easier, you can use the l_disp 
      switch in the nocoinp file. When set to true (along with the changes (a) and (b)), 
      this switch tells the program to use the Force theorem to calculate the dispersion
      curve on a predefined set of qss (the qpts set you previously generated).

      A too small k-points set can often give you a wrong ground state of the system!

   --The accuracy with which Jij(r) are calculated for a given qss set depends on the distance
      of the atom i and the shell in which atom j lies, since the real-space Jij(r) are calculated
      from their Fourier transforms Jij(qss). If you want Jij for a larger number of shells,
      make sure the number of qss is big enough.

More about the theory of these calculations, the convergence tests and the applications examples you can read in Lezaic_Marjana.pdf (6.9 MB)