Requests for technical support from the VASP group should be posted in the VASP-forum.
SAXIS = [real array]
Default: SAXIS = (0+, 0, 1)
Description: SAXIS specifies the quantisation axis for noncollinear spins.
The spin quantization axis may be specified by means of the SAXIS-tag,
SAXIS = sx sy sz ! global spin quantisation axis
where the default for SAXIS = (0+,0,1) (the notation 0+ implies an infinitesimal small positive number in x-direction). All magnetic moments are now given with respect to the axis (sx,sy,sz), 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 coordinates, the components of the magnetization are (internally) given by
Where maxis is the externally visible magnetic moment. Here, is the angle between the SAXIS vector (sx,sy,sz) and the Cartesian vector , and is the angle between the vector SAXIS and the Cartesian vector :
The inverse transformation is given by
It is easy to see that for the default (sx,sy,sz)=(0+,0,1), both angles are zero, i.e. and . In this case, the internal representation is simply equivalent to the external representation:
The second important case, is maxis=(0,0,m). In this case
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 initialize 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 = 0 0 total_magnetic_moment ! local magnetic moment parallel to SAXIS SAXIS = x y z ! quantization 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):
LSORBIT = .TRUE. ICHARG = 11 ! non selfconsistent run, read CHGCAR LMAXMIX = 4 ! for d-elements increase LMAXMIX to 4, f-elements: 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
VASP 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 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, however, 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 this worked beautifully).