I'm sorry, I should have answered before!
I think  that  your pseudocode is right. That is
what siesta does in order to obtain the position of the
Fermi level.

Best regards,
Eduardo

On 02/05/2008, at 20:03, David Strubbe wrote:

Ebrahim,

No I never received any response, but I recently examined the code in fermid.F to find out what is going on. As far as I can tell, SIESTA definitely puts the Fermi energy in the gap, but the position inside the gap is not meaningful. The algorithm to find the Fermi energy is like this in pseudocode:

E = (highest energy level + lowest energy level) / 2;
do
{
Q = sum of occupancies of energy levels less than E
if Q < Qtot : E = (E + highest energy level) / 2;
if Q > Qtot : E = (E + lowest energy level) / 2;
} while (Q != Qtot);
Fermi energy = E.

Anywhere in the gap, assuming the electronic temperature isn't very high, will give the same Q. So where the Fermi level ends up is just determined by where the highest and lowest energy bands are, and hence which energy in the gap is tried first. There is no physical meaning to the position of the Fermi energy within the gap in SIESTA.

If I have misunderstood anything here, please correct me, developers.

David Strubbe
UC Berkeley

On Fri, May 2, 2008 at 2:31 AM, eb na <[EMAIL PROTECTED]> wrote:
Hi David,

I'm interested to know if you have got any answer to your question. I have the same problem. other codes like ABINIT put the Fermi energy simply at the valence band edge but in Siesta it has a value within the gap! I wounder how the DFT could give any information of the exact value of the Fermi energy?

looking forward to hear from you

regards,

Ebrahim Nadimi
TU Chemnitz, Germany

David Strubbe <[EMAIL PROTECTED]> schrieb:
Hello all,

Can someone tell me how SIESTA determines the Fermi energy for a system with a gap?

David Strubbe
UC Berkeley


Beginnen Sie den Tag mit den neuesten Nachrichten. Machen Sie Yahoo! zu Ihrer Startseite!


Reply via email to