Suppose you have a two atom cubic cell, and you have calculated the atomic PDOS. Does integrating the atomic PDOS and summing them to Fermi energy give exactly the total charge of a system?


1 Answer 1


You shouldn't integrate to the Fermi energy, unless you want the T = 0 K result and that was what you computed with your DFT program (which is actually quite difficult to get).

The correct expression is the integral over all energies of the DOS multiplied by the broadening function (the occupation of the states), and if you want to get the total number of electrons then you should use exactly the same function and smearing width as the DFT program used.

$$ N = \int_{-\infty}^\infty f\left(\frac{E-E_F}{\sigma}\right)g(E)dE \tag{1} $$ where $N$ is the number of electrons, $f$ is the broadening function with width $\sigma$ and Fermi energy $E_F$ and $g$ is the DOS.

Note that, in practice, you don't actually have to integrate to $\infty$ since the broadening function decays to zero for $E>>E_F$.

If you integrate the PDOS rather than the DOS, then you will usually get a slightly smaller value from the integral, because of the spilling factor; i.e. not all of the states of a real material or molecule can be represented as a sum of a few atomic-like (usually hydrogenic or pseudoatomic) orbitals.

  • $\begingroup$ Thanks. You are right. I should get slightly smaller value than the DOS (as you are referring due to the spilling factor). But the problem is I am getting slightly larger value (24.3), which is greater than the total charge (24) of two atoms, each having 12 electrons in the pseudopotential. I used the plane-wave DFT for T=0K case. Is there any way to compensate or fix this? @Phil Hasnip $\endgroup$
    – Sak
    Dec 14, 2022 at 9:37
  • $\begingroup$ @Sak did you use $\sigma=0$ in the DFT code? You would need an extremely high k-point sampling and very careful mixing parameters to get that to converge. $\endgroup$ Dec 14, 2022 at 11:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .