Normalization of DOS by NSW parameter

Problems running VASP: crashes, internal errors, "wrong" results.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
MBaeker
Newbie
Newbie
Posts: 26
Joined: Tue Jan 07, 2014 11:22 am

Normalization of DOS by NSW parameter

#1 Post by MBaeker » Fri Feb 26, 2021 12:53 pm

I just found that the total DOS in the DOSCAR seems to be divided by the parameter NSW.

I ran two simulations, one with NSW=4, one with NSW=0; the DOS of one was exactly 1/4th of the DOS of the other. I also tried with NSW=20; there the change was indeed by a factor of 20.

I know that runs with NSW>1 are problematic for calculating the DOS, but I still find this surprising.
Is this intended behaviour?

VASP version is 5.4.4

I attach the input files and the beginning of the DOSCAR (whole file is too large), one set for NSW=4, one for NSW=0.
You do not have the required permissions to view the files attached to this post.

merzuk.kaltak
Administrator
Administrator
Posts: 331
Joined: Mon Sep 24, 2018 9:39 am

Re: Normalization of DOS by NSW parameter

#2 Post by merzuk.kaltak » Mon Mar 01, 2021 9:42 am

Dear MBaeker,

it is pointed out at the botton of DOSCAR wiki entry, that the DOS for any relaxation (NSW>0) is useless.

MBaeker
Newbie
Newbie
Posts: 26
Joined: Tue Jan 07, 2014 11:22 am

Re: Normalization of DOS by NSW parameter

#3 Post by MBaeker » Mon Mar 01, 2021 9:48 am

I know. Still, normalizing it by NSW seems weird.

asrosen
Newbie
Newbie
Posts: 27
Joined: Wed Oct 18, 2023 4:51 pm

Re: Normalization of DOS by NSW parameter

#4 Post by asrosen » Wed Feb 25, 2026 2:13 am

I would argue that if there is normalizing by NSW, it should really be mentioned in the manual. The DOS is not useless from a relaxation --- it just often not done with high quality settings. Those are different. And so, it is important to understand if there is a weird normalization going on with NSW > 1.


ahampel
Global Moderator
Global Moderator
Posts: 197
Joined: Tue Feb 16, 2016 11:41 am

Re: Normalization of DOS by NSW parameter

#5 Post by ahampel » Wed Feb 25, 2026 8:23 am

Hi,

before this escalates let me quickly explain a bit the rationale. Please have a look at https://www.vasp.at/wiki/KBLOCK . The idea is that in MD simulations the DOS written out is averaged over the last KBLOCK ionic steps. Due to the fast that MD and ionic relaxation are very similar the same applies for ionic relaxations without MD. So as a very simple fix just add KBLOCK=1 to your INCAR file. Now the DOS is divided by 1 and not by NSW (default value of KBLOCK). I can kick off a discussion internally if we want to change this behavior if VASP detects that no MD calculation is performed, but let's say there were good reasons for doing so. I made an extra comment to the DOSCAR wiki page on the bottom now.

Best,
Alex


asrosen
Newbie
Newbie
Posts: 27
Joined: Wed Oct 18, 2023 4:51 pm

Re: Normalization of DOS by NSW parameter

#6 Post by asrosen » Wed Mar 11, 2026 12:02 am

Thanks! Sorry if it came off as aggressive --- that wasn't the intention. An update to the documentation is plenty helpful!


ahampel
Global Moderator
Global Moderator
Posts: 197
Joined: Tue Feb 16, 2016 11:41 am

Re: Normalization of DOS by NSW parameter

#7 Post by ahampel » Wed Mar 11, 2026 7:53 am

All good -- we also discussed this matter internally and we will change this behavior in future releases for atomic relaxations. Unfortunately this did not make it into the recently released version 6.6.0 but I will give an update here once this happened. Meanwhile please use KBLOCK=1 to change the behavior for atomic relaxations.

Best,
Alex


Post Reply