Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More robust smart fermi method #2303

merged 3 commits into from
Nov 22, 2021


Copy link

@utf utf commented Nov 22, 2021


VASP 6.1+ sometimes puts the Fermi level just inside a valence or conduction band. This is related to a change in VASP tetrahedron which is described here:

There is already logic inside pymatgen to try and catch this bug, unfortunately it is not reliable and after some discussion with @mkhorton, we are not sure it can ever work.

I've made a new implementation that checks whether the Fermi level is just inside of band (controlled by a tolerance, by default set to 1 meV) and next to a band gap. If so, this is likely an error on VASPs part. In my testing I found this method much more reliable.

I'll note this is not enabled by default and is only included when calling Vasprun.get_band_structure(efermi="smart").

@rkingsbury this may be relevant to you.

Copy link

Thanks @utf, this is very helpful. I followed up with the VASP folks on this, see here. It sounds hopeful that this might be addressed in a future version.

@mkhorton mkhorton merged commit 9048e06 into materialsproject:master Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

2 participants