I have a program which can perform density-functional calculations for atoms, given a density functional.
Of course the simplest form of exchange potential to use is one relevant for a uniform electron gas (i.e. the original Kohn-Sham exchange, proportional to $n_e^{1/3}$). A good correlation functional is also available. However when I performed calculations for some atoms the energy of the highest occupied orbital differs greatly from the ionization potential (off by a few eVs!).
That the energy of the highest occupied orbital equals the ionisation potential of the neutral atom is known as Koopmans' Theorem. I get a feeling from the literature that DFT can be quite accurate. So what's wrong?
Interestingly when I use the Slater exchange functional, coupled with a correction suggested by Skillman (i.e. replacing the potential by $1/r$ when the overall potential drops below that value), the results improve significantly. (See the book "Atomic Structure Calculations" by Herman Skillman). Well, maybe I should follow this recipe, but it seems the procedure is quite ad-hoc.
My question is, are there any functionals which will give reasonable values for the atomic ionisation potentials? I do not want to implement methods like the optimised effective potential method since the latter is not readily generalised to a finite-temperature scenario. Thanks.