Spin-orbit without noncolinear

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
pascal_boulet1
Newbie
Newbie
Posts: 29
Joined: Thu Nov 14, 2019 7:38 pm

Spin-orbit without noncolinear

#1 Post by pascal_boulet1 » Tue Jun 27, 2023 9:36 am

Dear all,

I would like to set up a calculation in which I include spin-orbit coupling. I am using VASP 6.3.2. The system has different numbers of spin up and spin down electrons but it is non magnetic (according to the non-SO SCF convergence). In the INCAR when I set the keywords:
LSORBIT = .TRUE.
LNONCOLLINEAR = .FALSE.
ISPIN = 1

I get the following error in the OUTCAR:
ERROR: non collinear calculations require that VASP is compiled |
| without the flag -DNGXhalf and -DNGZhalf

and the same if I set this:
LSORBIT = .TRUE.
LNONCOLLINEAR = .FALSE.
SAXIS = 0 0 1
MAGMOM = 63*0.0 63*0.0 63*0.0 0.0 0.0 1.0

I don't mind recompiling VASP without -DNGXhalf and -DNGZhalf flags, but it seems weird to me that I cannot set a collinear calculation with SO included. Am I doing something wrong in the INCAR?

Thank you for your help,
Pascal

fabien_tran1
Global Moderator
Global Moderator
Posts: 419
Joined: Mon Sep 13, 2021 11:02 am

Re: Spin-orbit without noncolinear

#2 Post by fabien_tran1 » Tue Jun 27, 2023 10:33 am

Hello Pascal,

According to wiki/index.php/LSORBIT, if LSORBIT=.TRUE., then automatically LNONCOLLINEAR=.TRUE., which means that this is the executable vasp_ncl (and not vasp_std) that has to be used.

From you message, it is not clear what you want to obtain. A magnetic or non-magnetic solution?

pascal_boulet1
Newbie
Newbie
Posts: 29
Joined: Thu Nov 14, 2019 7:38 pm

Re: Spin-orbit without noncolinear

#3 Post by pascal_boulet1 » Tue Jun 27, 2023 12:52 pm

Hello Fabien,

Thanks for your reply.

When I run the SCF w/o SO but looking for a spin polarized solution, I end up with a 0.06 polarization. So I guess the system is not magnetic.

Since there are heavy atoms in the system (Tl, Pb, Te), I would like to include SO, but without spin polarization (something similar to a restricted-open shell HF calculation). So, I expected running it with vasp_std.
But maybe such ROHF it is not possible for solids. That's one of my questions, in fact.

I have noticed that the manual says that if LSORBIT is true, then LNONCOLLINEAR is true by default. But I thought that setting LNONCOLLINEAR to false
would allow me to run a collinear calculation including SOC.

If I cannot run a non-magnetic (i.e., ISPIN=1 + LSORBIT=.true.), how should I set up calculation with ISPIN=2, LSORBIT=.true. and spins collinear to e.g. z axis?

Thank you
Pascal

fabien_tran1
Global Moderator
Global Moderator
Posts: 419
Joined: Mon Sep 13, 2021 11:02 am

Re: Spin-orbit without noncolinear

#4 Post by fabien_tran1 » Tue Jun 27, 2023 1:39 pm

Since there are heavy atoms in the system (Tl, Pb, Te), I would like to include SO, but without spin polarization (something similar to a restricted-open shell HF calculation). So, I expected running it with vasp_std.
But maybe such ROHF it is not possible for solids. That's one of my questions, in fact.
With VASP it is technically not possible to really force the magnetic moment to be zero when SO is included (with WIEN2k it is possible as you know). However, it is possible to start the SCF cycle with a non-magnetic density by setting all values of MAGMOM to zero, and then hoping that no magnetism will develop during the SCF cycle.
I have noticed that the manual says that if LSORBIT is true, then LNONCOLLINEAR is true by default. But I thought that setting LNONCOLLINEAR to false
would allow me to run a collinear calculation including SOC.
No, even if LNONCOLLINEAR=.FALSE. in INCAR, then it is set to .TRUE. internally if LSORBIT=.TRUE. This is done in reader.F:

Code: Select all

IF (LSORBIT) LNONCOLLINEAR=LSORBIT
If I cannot run a non-magnetic (i.e., ISPIN=1 + LSORBIT=.true.), how should I set up calculation with ISPIN=2, LSORBIT=.true. and spins collinear to e.g. z axis?
Maybe as mentioned above with MAGMOM.

pascal_boulet1
Newbie
Newbie
Posts: 29
Joined: Thu Nov 14, 2019 7:38 pm

Re: Spin-orbit without noncolinear

#5 Post by pascal_boulet1 » Tue Jun 27, 2023 2:04 pm

All right, thank you for your precise answer. Actually, even if I set MAGMOM to 0. 0. 1. on Tl (the other atoms being 0. 0. 0.) ASP complains telling me that it expects to run with vasp_ncl.

Note that, it is possible to run with a spin-resticted wavefunction though with an odd number of electrons (without SOC). I have just run the job, it works.

Anyway, I am going to play around with the keywords to get an appropriate physical "answer".

Best,
Pascal

fabien_tran1
Global Moderator
Global Moderator
Posts: 419
Joined: Mon Sep 13, 2021 11:02 am

Re: Spin-orbit without noncolinear

#6 Post by fabien_tran1 » Tue Jun 27, 2023 2:16 pm

All right, thank you for your precise answer. Actually, even if I set MAGMOM to 0. 0. 1. on Tl (the other atoms being 0. 0. 0.) ASP complains telling me that it expects to run with vasp_ncl.
If you set MAGMOM to 0 0 1 for Tl, then that means that you want this atom to have a non-zero magnetic moment (right?), but I thought that you wanted a non-magnetic solution. If LNONCOLLINEAR or LSORBIT is set to .TRUE., then no choice: vasp_ncl has to be used.
Note that, it is possible to run with a spin-resticted wavefunction though with an odd number of electrons (without SOC). I have just run the job, it works.
In a periodic system the number of electrons is infinite, so that even and odd have no meaning.

pascal_boulet1
Newbie
Newbie
Posts: 29
Joined: Thu Nov 14, 2019 7:38 pm

Re: Spin-orbit without noncolinear

#7 Post by pascal_boulet1 » Tue Jun 27, 2023 4:20 pm

Yes, you are right, I have to set MAGMOM to zero! Thanks

Pascal

Post Reply