Questions about Collinear and Non-collinear runs
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Questions about Collinear and Non-collinear runs
Dear VASP masters:
I have some questions about Collinear and Non-collinear runs in VASP. I appreciate it if you could clarify those for me.
1. Collinear run, I know the ISPIN=2, it is ferromagnetic or antiferromagnetic calculations, right? The tag SAXIS is not needed for collinear, right? So, it assumes that the calculated magnetic moment is along the Z axis, right? How (where) to check the final calculated magnetic moment of every atom in the supercell? From the OUTCAR? Do I need to add some special keywords (tag) to write those moments into OUTCAR?
2. Non-collinear run, the LNONCOLLINEAR=.True. The VASP manual recommends that first to do a non-magnetic run to get charge and wave files, then using MAGMOM to set initial magnetic moment for each atom, then do the non-collinear run. My question is: if the system is ferromagnetic, then collinear run and non-collinear run will get the same results, right? So, the non-collinear run is meant to do something like spiral magnetic, right?
3. For non-collinear run, do I need to set ISPIN=2?
4. Again, for non-collinear run, how to check the final calculated magnetic moment of every atom in the supercell? From the OUTCAR? Do I need to add some special keywords (tag) to write those moments into OUTCAR?
Best,
Hong
I have some questions about Collinear and Non-collinear runs in VASP. I appreciate it if you could clarify those for me.
1. Collinear run, I know the ISPIN=2, it is ferromagnetic or antiferromagnetic calculations, right? The tag SAXIS is not needed for collinear, right? So, it assumes that the calculated magnetic moment is along the Z axis, right? How (where) to check the final calculated magnetic moment of every atom in the supercell? From the OUTCAR? Do I need to add some special keywords (tag) to write those moments into OUTCAR?
2. Non-collinear run, the LNONCOLLINEAR=.True. The VASP manual recommends that first to do a non-magnetic run to get charge and wave files, then using MAGMOM to set initial magnetic moment for each atom, then do the non-collinear run. My question is: if the system is ferromagnetic, then collinear run and non-collinear run will get the same results, right? So, the non-collinear run is meant to do something like spiral magnetic, right?
3. For non-collinear run, do I need to set ISPIN=2?
4. Again, for non-collinear run, how to check the final calculated magnetic moment of every atom in the supercell? From the OUTCAR? Do I need to add some special keywords (tag) to write those moments into OUTCAR?
Best,
Hong
-
- Full Member
- Posts: 212
- Joined: Tue Jan 19, 2021 12:01 am
Re: Questions about Collinear and Non-collinear runs
Dear Hong,
ad 1) Yes, for a collinear calculation you need to set ISPIN=2. The spin degree of freedom is only coupled to real space if spin-orbit coupling is included. Check out LSORBIT. The total final spin magnetization is always written to the OUTCAR file. To obtain the on-site magnetic moment due to the spin you need to set LORBIT. This is because it is a local quantity and therefore, you need to specify a projection method.
ad 2) Yes, for a collinear ferromagnetic structure the collinear and noncollinear calculations yield the same result, but the former is computationally more efficient. Spin spirals are one example of noncollinear magnetic structures. You can also check out MAGNDATA to find other examples.
ad 3) No, ISPIN is 1, if LNONCOLLINEAR=True. You can always run a small calculation (with fewer k points etc) and check the OUTCAR file for the default settings of parameters if you are unsure.
ad 4) Same as in the collinear case: Set LORBIT, for instance, to 11.
Best regards,
Marie-Therese
Edited: There was a mistake in ad 3) in the first version.
ad 1) Yes, for a collinear calculation you need to set ISPIN=2. The spin degree of freedom is only coupled to real space if spin-orbit coupling is included. Check out LSORBIT. The total final spin magnetization is always written to the OUTCAR file. To obtain the on-site magnetic moment due to the spin you need to set LORBIT. This is because it is a local quantity and therefore, you need to specify a projection method.
ad 2) Yes, for a collinear ferromagnetic structure the collinear and noncollinear calculations yield the same result, but the former is computationally more efficient. Spin spirals are one example of noncollinear magnetic structures. You can also check out MAGNDATA to find other examples.
ad 3) No, ISPIN is 1, if LNONCOLLINEAR=True. You can always run a small calculation (with fewer k points etc) and check the OUTCAR file for the default settings of parameters if you are unsure.
ad 4) Same as in the collinear case: Set LORBIT, for instance, to 11.
Best regards,
Marie-Therese
Edited: There was a mistake in ad 3) in the first version.
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
Dear Marie-Therese,
Thank you so much for clarifying those fundamental questions.
I have one more question, for noncollinear+SOC (spin-orbit coupling),
1. if I first do a collinear run to get wavefunction and charge, and then use those wavecar and chargecar and do noncollinear+SOC, so I do not need ISPIN=2, right? since the wavecar already have the up and down information.
2. what if I first do a collinear run and only save charge car (no wavecar), then I only use the charge car to do the following noncollinear+SOC, then do I need ISPIN=2 or not?
Best,
Hong
Thank you so much for clarifying those fundamental questions.
I have one more question, for noncollinear+SOC (spin-orbit coupling),
1. if I first do a collinear run to get wavefunction and charge, and then use those wavecar and chargecar and do noncollinear+SOC, so I do not need ISPIN=2, right? since the wavecar already have the up and down information.
2. what if I first do a collinear run and only save charge car (no wavecar), then I only use the charge car to do the following noncollinear+SOC, then do I need ISPIN=2 or not?
Best,
Hong
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
Dear Marie-Therese,
Thank you for response. However, my experience tells that your previous email is not completely correct.
If you follow the vasp manual to do the DFT+SOC, do step1 with a collinear run with ISPIN=2, and write WAVECAR and CHGCAR, then in the step2 with a noncollinear + SOC,
1.if in the step2, you use ISTART=1, ICHARG=11, and ISPIN=2, you will meet error and stop. vasp can not read in the WAVECAR correctly.
2. in the step 2, you have to use ISTART=0, ICHARG=11, which means do not read the WAVECAR at all, then you can proceed correctly. In this, ISPIN=2 or 1, do not matter. you will get the same results. Because SOC run will mix the up and down spins.
Best,
Hong
Thank you for response. However, my experience tells that your previous email is not completely correct.
If you follow the vasp manual to do the DFT+SOC, do step1 with a collinear run with ISPIN=2, and write WAVECAR and CHGCAR, then in the step2 with a noncollinear + SOC,
1.if in the step2, you use ISTART=1, ICHARG=11, and ISPIN=2, you will meet error and stop. vasp can not read in the WAVECAR correctly.
2. in the step 2, you have to use ISTART=0, ICHARG=11, which means do not read the WAVECAR at all, then you can proceed correctly. In this, ISPIN=2 or 1, do not matter. you will get the same results. Because SOC run will mix the up and down spins.
Best,
Hong
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
Dear Marie-Therese,
Thank you so much for helping.
1. "So, if I understand you correctly, then case (1.) confirms my previous message. When you switch from ISTART=2 to ISTART=1 during your workflow, VASP cannot read the WAVECAR file and aborts with an error."
No, maybe I did not explain this clearly. In the collinear run, it is always ISPIN=2, in the noncollinear+SOC run, I also put ISPIN=2, but after running, the OUTCAR shows "ISPIN=1", not "ISPIN=2". This is what puzzles me. I tried remove ISPIN=2 from INCAR, which means ISPIN=1. The result is the same. (it should be the same, because in both, ISPIN=1 in the OUTCAR). "The results are the same" means that the plotted band structures are the same.
The question is that although I do not change ISPIN=2 in the workflow, but the SOC run results in 'ISPIN=1". I really wan to know why is that.
I also think that, maybe in noncolinear or/and SOC run, the full spinor will be used. the partial charge will be evaluated as a matrix with rho_up_up, rho_up_down, rho_down_up, rho_down_down. The ho_up_down, rho_down_up, are cross terms. Which means up and down will "mix" for some bands and/or k points. It is not the "pure" up and "pure" down. The head of the EIGENVAL file for SOC looks like
18 18 1 1
0.2440043E+03 0.3000000E-08 0.2100000E-08 0.6971552E-09 0.5000000E-15
1.000000000000000E-004
CAR
step2 Band structure_calculation
122 45 260
not like the EIGENVAL file for collinear run, which is
18 18 1 2
0.2440043E+03 0.3000000E-08 0.2100000E-08 0.6971552E-09 0.5000000E-15
1.000000000000000E-004
CAR
step1 CHGCAR_calculation
122 24 260
2. Could you please let me know how I can get ISPIN=2 in the OUTCAR file for the noncollinear+SOC run? because I never got it down.
3. In the noncollinear+SOC run, the error for read WAVECAR is not related to ISPIN=2 or 1, it is related to the ISTART=1. If I set ISTART=0, then there is no error, since the WAVECAR is not read. But if I set ISTART=1 (no matter ISPIN=2 or 1), it will have error and stop.
please see the INCAR files
INACR for collinear
SYSTEM = step1 CHGCAR_calculation
ISTART=0 !0
ICHARG=2 !2
PREC=Accurate
ISPIN=2
! LNONCOLLINEAR = .TRUE.
! SAXIS = 0+ 0 1
ISYM=-1
NBANDS=250
! #### electronic optimizations
ENCUT=580
ISMEAR=0
SIGMA=0.1
! ##### Ionic relxations
EDIFFG=-0.05
EDIFF=3E-07
NCORE=10
! #ISIF=2
IBRION=-1 ! #Ions are not moving
NSW=0 ! ## no of ionic steps if we set NSW =0, it ignores ISIF
NELM = 500
!AMIX = 0.1
!BMIX = 3
AMIN= 0.01
LREAL= Auto
IALGO=38
! ####
LMAXMIX=4 ! #NEEDED FOR PAW
! ##semilocal DFT calculations
GGA=PE
! METAGGA=SCAN
LASPH=.TRUE.
ADDGRID = .TRUE.
!HXOTASK = 1.804 !1.29
!MUALPHA = -0.305270 ! -0.231993
!CHITASK = -4.0
!DTASK = 12.0
!DFIRST = 1.0
! #########
! #ISYM=0
LWAVE=.True.
LCHARG = .True.
INCAR for noncollinear+SOC run
SYSTEM = step2 Band structure_calculation
ISTART=0 !0
ICHARG= 11 !2
PREC=Accurate
ISPIN=2
LNONCOLLINEAR = .TRUE.
SAXIS = 0 1 0
LSORBIT = .TRUE.
ISYM=-1
NBANDS=250
GGA_COMPAT = .FALSE.
LORBIT= 14
NEDOS=801
! #### electronic optimizations
ENCUT=580
ISMEAR=0
SIGMA=0.1
! ##### Ionic relxations
EDIFFG=-0.05
EDIFF=1E-06
NCORE=10
! #ISIF=2
IBRION=-1 ! #Ions are not moving
NSW=0 ! ## no of ionic steps if we set NSW =0, it ignores ISIF
NELM = 500
!AMIX = 0.1
!BMIX = 3
AMIN= 0.01
LREAL= Auto
IALGO=38
! ####
LMAXMIX=4 ! #NEEDED FOR PAW
! ##semilocal DFT calculations
GGA=PE
! METAGGA=SCAN
LASPH=.TRUE.
ADDGRID = .TRUE.
!HXOTASK = 1.804 !1.29
!MUALPHA = -0.305270 ! -0.231993
!CHITASK = -4.0
!DTASK = 12.0
!DFIRST = 1.0
! #########
! #ISYM=0
LWAVE=.FALSE.
LCHARG = .False.
Best,
Hong
Thank you so much for helping.
1. "So, if I understand you correctly, then case (1.) confirms my previous message. When you switch from ISTART=2 to ISTART=1 during your workflow, VASP cannot read the WAVECAR file and aborts with an error."
No, maybe I did not explain this clearly. In the collinear run, it is always ISPIN=2, in the noncollinear+SOC run, I also put ISPIN=2, but after running, the OUTCAR shows "ISPIN=1", not "ISPIN=2". This is what puzzles me. I tried remove ISPIN=2 from INCAR, which means ISPIN=1. The result is the same. (it should be the same, because in both, ISPIN=1 in the OUTCAR). "The results are the same" means that the plotted band structures are the same.
The question is that although I do not change ISPIN=2 in the workflow, but the SOC run results in 'ISPIN=1". I really wan to know why is that.
I also think that, maybe in noncolinear or/and SOC run, the full spinor will be used. the partial charge will be evaluated as a matrix with rho_up_up, rho_up_down, rho_down_up, rho_down_down. The ho_up_down, rho_down_up, are cross terms. Which means up and down will "mix" for some bands and/or k points. It is not the "pure" up and "pure" down. The head of the EIGENVAL file for SOC looks like
18 18 1 1
0.2440043E+03 0.3000000E-08 0.2100000E-08 0.6971552E-09 0.5000000E-15
1.000000000000000E-004
CAR
step2 Band structure_calculation
122 45 260
not like the EIGENVAL file for collinear run, which is
18 18 1 2
0.2440043E+03 0.3000000E-08 0.2100000E-08 0.6971552E-09 0.5000000E-15
1.000000000000000E-004
CAR
step1 CHGCAR_calculation
122 24 260
2. Could you please let me know how I can get ISPIN=2 in the OUTCAR file for the noncollinear+SOC run? because I never got it down.
3. In the noncollinear+SOC run, the error for read WAVECAR is not related to ISPIN=2 or 1, it is related to the ISTART=1. If I set ISTART=0, then there is no error, since the WAVECAR is not read. But if I set ISTART=1 (no matter ISPIN=2 or 1), it will have error and stop.
please see the INCAR files
INACR for collinear
SYSTEM = step1 CHGCAR_calculation
ISTART=0 !0
ICHARG=2 !2
PREC=Accurate
ISPIN=2
! LNONCOLLINEAR = .TRUE.
! SAXIS = 0+ 0 1
ISYM=-1
NBANDS=250
! #### electronic optimizations
ENCUT=580
ISMEAR=0
SIGMA=0.1
! ##### Ionic relxations
EDIFFG=-0.05
EDIFF=3E-07
NCORE=10
! #ISIF=2
IBRION=-1 ! #Ions are not moving
NSW=0 ! ## no of ionic steps if we set NSW =0, it ignores ISIF
NELM = 500
!AMIX = 0.1
!BMIX = 3
AMIN= 0.01
LREAL= Auto
IALGO=38
! ####
LMAXMIX=4 ! #NEEDED FOR PAW
! ##semilocal DFT calculations
GGA=PE
! METAGGA=SCAN
LASPH=.TRUE.
ADDGRID = .TRUE.
!HXOTASK = 1.804 !1.29
!MUALPHA = -0.305270 ! -0.231993
!CHITASK = -4.0
!DTASK = 12.0
!DFIRST = 1.0
! #########
! #ISYM=0
LWAVE=.True.
LCHARG = .True.
INCAR for noncollinear+SOC run
SYSTEM = step2 Band structure_calculation
ISTART=0 !0
ICHARG= 11 !2
PREC=Accurate
ISPIN=2
LNONCOLLINEAR = .TRUE.
SAXIS = 0 1 0
LSORBIT = .TRUE.
ISYM=-1
NBANDS=250
GGA_COMPAT = .FALSE.
LORBIT= 14
NEDOS=801
! #### electronic optimizations
ENCUT=580
ISMEAR=0
SIGMA=0.1
! ##### Ionic relxations
EDIFFG=-0.05
EDIFF=1E-06
NCORE=10
! #ISIF=2
IBRION=-1 ! #Ions are not moving
NSW=0 ! ## no of ionic steps if we set NSW =0, it ignores ISIF
NELM = 500
!AMIX = 0.1
!BMIX = 3
AMIN= 0.01
LREAL= Auto
IALGO=38
! ####
LMAXMIX=4 ! #NEEDED FOR PAW
! ##semilocal DFT calculations
GGA=PE
! METAGGA=SCAN
LASPH=.TRUE.
ADDGRID = .TRUE.
!HXOTASK = 1.804 !1.29
!MUALPHA = -0.305270 ! -0.231993
!CHITASK = -4.0
!DTASK = 12.0
!DFIRST = 1.0
! #########
! #ISYM=0
LWAVE=.FALSE.
LCHARG = .False.
Best,
Hong
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
Please see attached OUTCAR files,
Best,
Hong
Best,
Hong
You do not have the required permissions to view the files attached to this post.
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
Hi Marie-Therese,
Thank you so much.
Please see the attached files.
Best,
Hong
Thank you so much.
Please see the attached files.
Best,
Hong
You do not have the required permissions to view the files attached to this post.
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
I used vasp.5.4.4.
Hong
Hong
-
- Newbie
- Posts: 29
- Joined: Mon Nov 18, 2019 2:24 pm
Re: Questions about Collinear and Non-collinear runs
job submit script:
#!/bin/bash
#PBS -q normal
#PBS -l nodes=20:ppn=20
#PBS -l walltime=70:00:00
#PBS -N A13WSe2_SOC
#PBS -j oe
#PBS -m bae
#PBS -M xxx@xxx.edu
cd ${PBS_O_WORKDIR}
for j in R3000
do
cd $j
rm -r PBE_SOC
wait
mkdir PBE_SOC
cd PBE_SOC
cp ../CONTCAR ./POSCAR
cp ../POTCAR ./
cp ../../SOC_PBE_prep_files/INCAR_SOC_1 ./INCAR
cp ../../SOC_PBE_prep_files/KPOINTS_1 ./KPOINTS
mpirun -np 400 /home/hongtang/vasp_task/vasp.5.4.4/bin/vasp_ncl > results.ix_1
wait
cp OUTCAR OUTCAR_1
cp EIGENVAL EIGENVAL_1
cp DOSCAR DOSCAR_1
cp ../../SOC_PBE_prep_files/INCAR_SOC_2 ./INCAR
cp ../../SOC_PBE_prep_files/KPOINTS_2 ./KPOINTS
mpirun -np 400 /home/hongtang/vasp_task/vasp.5.4.4/bin/vasp_ncl > results.ix_2
wait
cd ../..
done
#!/bin/bash
#PBS -q normal
#PBS -l nodes=20:ppn=20
#PBS -l walltime=70:00:00
#PBS -N A13WSe2_SOC
#PBS -j oe
#PBS -m bae
#PBS -M xxx@xxx.edu
cd ${PBS_O_WORKDIR}
for j in R3000
do
cd $j
rm -r PBE_SOC
wait
mkdir PBE_SOC
cd PBE_SOC
cp ../CONTCAR ./POSCAR
cp ../POTCAR ./
cp ../../SOC_PBE_prep_files/INCAR_SOC_1 ./INCAR
cp ../../SOC_PBE_prep_files/KPOINTS_1 ./KPOINTS
mpirun -np 400 /home/hongtang/vasp_task/vasp.5.4.4/bin/vasp_ncl > results.ix_1
wait
cp OUTCAR OUTCAR_1
cp EIGENVAL EIGENVAL_1
cp DOSCAR DOSCAR_1
cp ../../SOC_PBE_prep_files/INCAR_SOC_2 ./INCAR
cp ../../SOC_PBE_prep_files/KPOINTS_2 ./KPOINTS
mpirun -np 400 /home/hongtang/vasp_task/vasp.5.4.4/bin/vasp_ncl > results.ix_2
wait
cd ../..
done
-
- Newbie
- Posts: 8
- Joined: Wed Nov 02, 2022 10:30 am
Re: Questions about Collinear and Non-collinear runs
Hello,
I would like to follow on this because I saw that when I set "ISPIN=2" in my INCAR for vasp_ncl SOC calculations, the result OUTCAR/vasprun.xml showed "ISPIN=1", like Hong said. It seems to me that no matter how we set "ISPIN" at the beginning, the SOC calculations always reset "ISPIN" back to one. I saw another post on https://www.vasp.at/forum/viewtopic.php?t=9645 saying "non-collinear calculation there is no "spin-up" and "spin-down" term", why?
Thanks,
Dongsheng
I would like to follow on this because I saw that when I set "ISPIN=2" in my INCAR for vasp_ncl SOC calculations, the result OUTCAR/vasprun.xml showed "ISPIN=1", like Hong said. It seems to me that no matter how we set "ISPIN" at the beginning, the SOC calculations always reset "ISPIN" back to one. I saw another post on https://www.vasp.at/forum/viewtopic.php?t=9645 saying "non-collinear calculation there is no "spin-up" and "spin-down" term", why?
Thanks,
Dongsheng
-
- Full Member
- Posts: 212
- Joined: Tue Jan 19, 2021 12:01 am
Re: Questions about Collinear and Non-collinear runs
Dear Hong and dear Dongsheng,
Sorry I did not follow up until now. Let me check the details about ISPIN.
In the meantime, I would like to point you to some references to study how noncollinear magnetism and SOC are treated in VASP:
D. Hobbs, G. Kresse, and J. Hafner, Fully unconstrained noncollinear magnetism within the
projector augmented-wave method, Physical Review B, vol. 62, no. 17, p. 11556, 2000.
S. Steiner, S. Khmelevskyi, M. Marsmann, and G. Kresse, Calculation of the magnetic
anisotropy with projected-augmented-wave methodology and the case study of disordered fe
1- x co x alloys, Physical Review B, vol. 93, no. 22, p. 224425, 2016.
J. Kübler, Theory of itinerant electron magnetism, vol. 106. Oxford University Press, 2017.
Best regards,
Marie-Therese
Sorry I did not follow up until now. Let me check the details about ISPIN.
In the meantime, I would like to point you to some references to study how noncollinear magnetism and SOC are treated in VASP:
D. Hobbs, G. Kresse, and J. Hafner, Fully unconstrained noncollinear magnetism within the
projector augmented-wave method, Physical Review B, vol. 62, no. 17, p. 11556, 2000.
S. Steiner, S. Khmelevskyi, M. Marsmann, and G. Kresse, Calculation of the magnetic
anisotropy with projected-augmented-wave methodology and the case study of disordered fe
1- x co x alloys, Physical Review B, vol. 93, no. 22, p. 224425, 2016.
J. Kübler, Theory of itinerant electron magnetism, vol. 106. Oxford University Press, 2017.
Best regards,
Marie-Therese
-
- Newbie
- Posts: 23
- Joined: Tue Jan 31, 2023 3:11 pm
Re: Questions about Collinear and Non-collinear runs
Dear VASP Community,
I am facing the same problem in vasp-5.4.4. When I specify ISPIN=2 in INCAR for non-collinear magnetization, I get ISPIN=1 in the OUTCAR. Was there a follow up on this question or is this a bug?
Thanks,
Vahid
I am facing the same problem in vasp-5.4.4. When I specify ISPIN=2 in INCAR for non-collinear magnetization, I get ISPIN=1 in the OUTCAR. Was there a follow up on this question or is this a bug?
Thanks,
Vahid
-
- Full Member
- Posts: 212
- Joined: Tue Jan 19, 2021 12:01 am
Re: Questions about Collinear and Non-collinear runs
Dear Vahid,
Thank you for asking, and sorry for the confusion. I made a mistake in my first response. For noncollinear calculations, ISPIN will indeed be 1. I edited my first response, so I hope no one will get confused in the future. My apologies also go to Hong and Dongsheng.
Marie-Therese
Thank you for asking, and sorry for the confusion. I made a mistake in my first response. For noncollinear calculations, ISPIN will indeed be 1. I edited my first response, so I hope no one will get confused in the future. My apologies also go to Hong and Dongsheng.
Marie-Therese
-
- Newbie
- Posts: 23
- Joined: Tue Jan 31, 2023 3:11 pm
Re: Questions about Collinear and Non-collinear runs
Dear Marie-Therese,
Thank you for this clarification.
Cheers,
Vahid
Thank you for this clarification.
Cheers,
Vahid