Page 1 of 1

Obtaining spin up down with SOC using Wannier90/3.1.0 with VASP6.4.1

Posted: Tue Oct 31, 2023 3:44 pm
by malcolm_jardine
Hello all,

I am encountering a problem using and understanding Wannier90/3.1.0 with VASP6.4.1. I have performed a GW calculation on the PtMnSb Heuslor system with spin orbit coupling enabled (LSORBIT = True) and want to plot the spin up and down band structure using Wannier90.

In my previous calculation without SOC, I was able to do this. I used the minimal inputs below (relevant inputs shown, full file in .zip) for the INCAR which interfaced with Wannier90. The output of the VASP calculation gives wannier90.1.amn, wannier90.1.chk, wannier90.1.eig, wannier90.1.mmn; and the other spin channel (I assume) of wannier90.2.amn, wannier90.2.chk, wannier90.2.eig, wannier90.2.mmn. This could then be used for the spin up and spin down band structures via Wannier90.

.
.
.
NBANDS = 72
LWANNIER90 = .TRUE. # run wannier90 in library mode

ISPIN = 2
MAGMOM = 1*0.0000 1*4.0000 1*0.0000

# number of wannier states
NUM_WANN = 36
# number of bloch bands
num_bands = 36

WANNIER90_WIN = "
use_bloch_phases = True
guiding_centres=true
exclude_bands = 37-72
begin projections
random
end projections
"


However, when SOC is included in the INCAR, the outputs of Wannier90 are only wannier90.amn, wannier90.chk, wannier90.eig, wannier90.mmn, so there is no longer a spin decomposition and I have been unable to find a way for this to be done.

Can someone please advice how to add in a spin up and down decomposition into the calculation with SOC?
Thank you!

Re: Obtaining spin up down with SOC using Wannier90/3.1.0 with VASP6.4.1

Posted: Mon Nov 04, 2024 7:42 am
by marie-therese.huebsch

Hello,

for a calculation including SOC you need to perform a noncollinear calculation based on the spin-density matrix. Hence, the decomposition into spin up and spin down orbitals cannot be done as easily as for a spin-polarized calculation where the Kohn-Sham equations for spin up and down only couple via the effective potential.

You can still define a spin quantization axis and project the spinors onto the axis. Please have a look at LWRITE_SPN which I recently implemented. I didn't test this with GW, so please let me know if you run into trouble.

Does this help?

Marie-Therese