Page 1 of 1

Non-collinear VASP compilation

Posted: Wed Oct 14, 2015 12:45 am
by leogursky
Hello,

I've recently re-compiled VASP for non-collinear magnetism calculation. The only change I've made is disable the -DNGXhalf and -DNGZhalf In the makefile.

Before I make this change, I get error message telling me to re-compile vasp without the two flags above. This is as expected.

However, with the re-compiled VASP, the error message above disappeared, but VASP seems not be able to read triplet of moments in MAGMOM. For example, for my 32-atom system, I initialize the system with 32 triplets:

#Non-collinear magnetic parameters
ISPIN = 2
LNONCOLLINEAR=.TRUE.
MAGMOM = 1 0 0 0 1 0 0 -1 0 0 1 0 0 0 1 -1 0 0 0 0 1 -1 0 0 0 0 -1 1 0 0 0 0 1 0 -1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 -1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 -1 0 0 1 0 -1 0 0 0 0 1 0 1 0 0 0 1 0 -1 0

but I got an error message as:

Error reading item 'MAGMOM' from file INCAR.
Error code was IERR=0 ... . Found N= 90 data.

It seems that VASP read the numbers one by one, instead of by triplets.

Can anyone help me with this problem?

Re: Non-collinear VASP compilation

Posted: Mon Mar 05, 2018 2:30 pm
by admin
for MAGMOM in a non-collinear calculation, you have to give a triplet of moments for each atom, you are correct
however it it seems that only 90 triplets were found, although you gave 96. The reason may be the following: the default string length to read
the moments is 255 characters altogether (including MAGMOM = ) any additional characters are ignored.
If this has happened in your case as well (please check your MAGMOM line in INCAR!) please
uncomment the line
#define LONGCHAR
in drdatab.F (in lib) and re-compile vasp.
then, the allowed string length is increased to 32767 characters