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
LSORBIT = .TRUE. SAXIS = s_x s_y s_z (quantisation axis for spin) GGA_COMPAT = .FALSE. ! apply spherical cutoff on gradient fieldwhere the default for SAXIS= (the notation implies an infinitesimal small positive number in 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 , 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
To initialise calculations with the magnetic moment parallel to a chosen vector , 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 zor
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):
LSORBIT = .TRUE. ICHARG = 11 ! non selfconsistent run, read CHGCAR LMAXMIX = 4 ! for d elements increase LMAXMIX to 4, f: LMAXMIX = 6 ! you need to set LMAXMIX already in the collinear calculation SAXIS = x y z ! direction of the magnetic field NBANDS = 2 * number of bands of collinear run GGA_COMPAT = .FALSE. ! apply spherical cutoff on gradient fieldVASP reads in the WAVECAR and CHGCAR files, aligns the spin quantization axis parallel to SAXIS, which implies that the magnetic field is now parallel to SAXIS, and performs a non selfconsistent calculation. By comparing the energies for different orientations the magnetic anisotropy can be determined. Please mind, that a completely selfconsistent calculation (ICHARG=1) is in principle also possible with VASP, but this would allow the the spinor wavefunctions to rotate from their initial orientation parallel to SAXIS until the correct groundstate is obtained, i.e. until the magnetic moment is parallel to the easy axis. In practice this rotation will be slow, since reorientation of the spin gains little energy. Therefore if the convergence criterion is not too tight, sensible results might be obtained even for fully selfconsistent calculations (in the few cases we have tried selfconsistentcy worked without problems).