next up previous contents index
Next: Constraining the direction of Up: Non-collinear calculations and spin Previous: LNONCOLLINEAR-tag   Contents   Index

N.B. This document is no longer maintained, please visit our wiki.


Supported as of VASP.4.5.

LSORBIT=.TRUE. switches on spin-orbit coupling and automatically sets LNONCOLLINEAR= .TRUE.. This option works only for PAW potentials and is not supported for ultrasoft pseudopotentials. If spin-orbit coupling is not included, the energy does not depend on the direction of the magnetic moment, i.e. rotating all magnetic moments by the same angle results exactly in the same energy. Hence there is no need to define the spin quantization axis, as long as spin-orbit coupling is not included. Spin-orbit coupling, however, couples the spin to the crystal structure. Spin orbit coupling is switched on by selecting

  SAXIS =   s_x s_y s_z (quantisation axis for spin)
  GGA_COMPAT = .FALSE. ! apply spherical cutoff on gradient field
where the default for SAXIS=$ (0+,0,1)$ (the notation $ 0+$ implies an infinitesimal small positive number in $ \hat x$ direction). The flag GGA_COMPAT (see Sec. 6.42) is optional and should be set when small energy differences in the sub meV regime need to be calculated (often the case for magnetic anisotropy calculations). All magnetic moments are now given with respect to the axis $ (s_x,s_y,s_z)$, where we have adopted the convention that all magnetic moments and spinor-like quantities written or read by VASP are given with respect to this axis. This includes the MAGMOM line in the INCAR file, the total and local magnetizations in the OUTCAR and PROCAR file, the spinor-like orbitals in the WAVECAR file, and the magnetization density in the CHGCAR file. With respect to the cartesian lattice vectors the components of the magnetization are (internally) given by
$\displaystyle m_x$ $\displaystyle =$ $\displaystyle \cos(\beta) \cos(\alpha) m^{\rm axis}_x- \sin(\alpha) m^{\rm axis}_y+ \sin(\beta)*\cos(\alpha) m^{\rm axis}_z$  
$\displaystyle m_y$ $\displaystyle =$ $\displaystyle \cos(\beta) \sin(\alpha) m_x + \cos(\alpha) m^{\rm axis}_y + \sin(\beta) \sin(\alpha) m^{\rm axis}_z$  
$\displaystyle m_z$ $\displaystyle =$ $\displaystyle -\sin(\beta) m^{\rm axis}_x+ \cos(\beta) m^{\rm axis}_z$  

Where $ m^{\rm axis}$ is the externally visible magnetic moment. Here, $ \alpha$ is the angle between the SAXIS vector $ (s_x,s_y,s_z)$ and the cartesian vector $ \hat x$, and $ \beta$ is the angle between the vector SAXIS and the cartesian vector $ \hat z$:
$\displaystyle \alpha$ $\displaystyle =$ $\displaystyle {\rm atan} \frac{s_y}{s_x}$  
$\displaystyle \beta$ $\displaystyle =$ $\displaystyle {\rm atan} \frac{\sqrt{s_x^2+s_y^2}}{s_z}$  

The inverse transformation is given by
$\displaystyle m^{\rm axis}_x$ $\displaystyle =$ $\displaystyle \cos(\beta) \cos(\alpha) m_x + \cos(\beta) \sin(\alpha) m_y - \sin(\beta) m_z$  
$\displaystyle m^{\rm axis}_y$ $\displaystyle =$ $\displaystyle - sin(\alpha) m_x + \cos(\alpha) m_y$  
$\displaystyle m^{\rm axis}_z$ $\displaystyle =$ $\displaystyle \sin(\beta) cos(\alpha) m_x+ \sin(\beta) \sin(\alpha) m_y + \cos(\beta) m_z$  

It is easy to see that for the default $ (s_x, s_y, s_z)=(0+,0,1)$, both angles are zero, i.e. $ \beta=0$ and $ \alpha=0$. In this case, the internal representation is simply equivalent to the external representation:
$\displaystyle m_x$ $\displaystyle =$ $\displaystyle m^{\rm axis}_x$  
$\displaystyle m_y$ $\displaystyle =$ $\displaystyle m^{\rm axis}_y$  
$\displaystyle m_z$ $\displaystyle =$ $\displaystyle m^{\rm axis}_z$  

The second important case, is $ m^{\rm axis}_x=0$ and $ m^{\rm axis}_y=0$. In this case
$\displaystyle m_x$ $\displaystyle =$ $\displaystyle \sin(\beta)*\cos(\alpha) m^{\rm axis}_z = m^{\rm axis}_z   s_x / \sqrt{s_x^2+s_y^2+s_z^2}$  
$\displaystyle m_y$ $\displaystyle =$ $\displaystyle \sin(\beta) \sin(\alpha) m^{\rm axis}_z = m^{\rm axis}_z   s_y / \sqrt{s_x^2+s_y^2+s_z^2}$  
$\displaystyle m_z$ $\displaystyle =$ $\displaystyle \cos(\beta) m^{\rm axis}_z = m^{\rm axis}_z   s_z / \sqrt{s_x^2+s_y^2+s_z^2}$  

Hence now the magnetic moment is parallel to the vector SAXIS. Thus there are two ways to rotate the spins in an arbitrary direction, either by changing the initial magnetic moments MAGMOM or by changing SAXIS.

To initialise calculations with the magnetic moment parallel to a chosen vector $ (x,y,z)$, it is therefore possible to either specify (assuming a single atom in the cell)

 MAGMOM = x y z   ! local magnetic moment in x,y,z
 SAXIS =  0 0 1   ! quantisation axis parallel to z
 MAGMOM = 0 0 total_magnetic_moment   ! local magnetic moment parallel to SAXIS
 SAXIS =  x y z   ! quantisation axis parallel to vector (x,y,z)
Both setups should in principle yield exactly the same energy, but for implementation reasons the second method is usually more precise. The second method also allows to read a preexisting WAVECAR file (from a collinear or non collinear run), and to continue the calculation with a different spin orientation. When a non collinear WAVECAR file is read, the spin is assumed to be parallel to SAXIS (hence VASP will initially report a magnetic moment in the z-direction only).

The recommended procedure for the calculation of magnetic anisotropies is therefore (please check the section on LMAXMIX 6.63):

N.B. Requests for support are to be addressed to: