NUPDOWN = 1 makes Fermi-level go haywire

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


Moderators: Global Moderator, Moderator

Locked
Message
Author
peter_deak1
Newbie
Newbie
Posts: 2
Joined: Tue Nov 19, 2019 8:59 am

NUPDOWN = 1 makes Fermi-level go haywire

#1 Post by peter_deak1 » Wed Jun 08, 2022 5:44 am

Dear Experts,

recently I was studying a semiconductor with a shallow, singly occupied donor level, very near to the CBM. This was an odd electron system and I expected a spin doublet. When I set NUPDOWN = 1, the Fermi energy turned out to be in the lower half of the gap (between the VBM and the occupied donor level). Without setting it, it was where it should be, i.e., between the donor level and the CBM. Can you tell me why is that? (I am using VASP 5.4.4.)

Best regards

Peter Deák

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: NUPDOWN = 1 makes Fermi-level go haywire

#2 Post by martin.schlipf » Wed Jun 08, 2022 7:14 am

The Fermi level is not well defined when NUPDOWN is set. The way it is implemented, you have two separate Fermi levels, one for spin up and one for spin down. Each of them is calculated individually such that the number of electrons equates to desired number for that particular spin channel. However, this is implemented as a loop over these spin channels and the normal Fermi energy variable is reused for it. Therefore the Fermi energy printed to the output is actually the Fermi energy for the down spin channel.

Martin Schlipf
VASP developer


Locked