To interpolate the spin operator expectation value, the matrix \(s_{mn}({\bf q})=\langle u_{m{\bf q}}\vert\hat{\sigma}\vert u_{n{\bf q}}\rangle\) is needed. To facilitate study of spin-dependent properties within VASP code, a submodule wannierberri.utils.vaspspn is included, which computes \(S_{mn{\bf q}}\) based on the normalized pseudo-wavefunction read from the WAVECAR file. Note that the use of pseudo-wavefunction instead of the full PAW (Blöchl 1994) wavefunction is an approximation, which however in practice gives a rather accurate interpolation of spin.

An utility to calculate the .spn file for wannier90 from WAVECAR file generated by VASP.

usage :

python3 -m wannierberri.utils.vaspspn   option=value
print this help message
inputfile name.
default: WAVECAR
outputfile name
default: wannier90.spn
the first band to be considered (counting starts from 1).
default: 1
number of bands in the output. If NB<=0 all bands are used.
default: 0
how to normalize the eigenstates, if they are not perfectly orthonormal
norm=norm (D) - normalize each state individually
norm=none - do not normalize WFs, take as they are.