[gpaw-users] Occupation and degeneracy problem in spin-polarized calculation for atoms
yanli
yanli at chips.ncsu.edu
Fri Mar 4 01:57:51 CET 2011
Hello,
I have done a spin-polarized calculation of oxygen atom using gpaw, the
scf iteration converges in 22 steps but I think there might be some
problems with the degeneracy of eigen-energies and their occupations.
For oxygen atom, the 2p orbital should be 3-folded degenerate, right?
However, the result of gpaw shows following:
Fermi Level: -6.92162
Up Down
Band Eigenvalues Occupancy Eigenvalues Occupancy
0 -24.96945 1.00000 -21.38416 1.00000
1 -10.67650 1.00000 -7.40534 0.99213
2 -10.67650 1.00000 -6.36818 0.00393
3 -8.71907 1.00000 -6.36818 0.00393
4 -0.52898 0.00000 -0.33566 0.00000
5 1.81662 0.00000 2.07444 0.00000
6 1.83804 0.00000 2.09461 0.00000
7 1.96408 0.00000 2.13537 0.00000
where for spin-up the three 2p orbital (-10.67650, -10.67650, -8.71907)
are not degenerate and also for spin-down the 1 electron is supposed to
equally shared over the three degenerate state 2p orbitals instead of
with -7.40534 [0.99213], -6.36818 [0.00393], -6.36818[0.00393]. For
comparison, I did the same calculation using Quantum Espresso and the
result is shown as follows:
------ SPIN UP ------------
k = 0.0000 0.0000 0.0000 (166101 PWs) bands (ev):
-24.9334 -10.3604 -10.3604 -10.3604 -0.2758 0.3747 0.6266 0.6266
occupation numbers
1.0000 1.0000 1.0000 1.0000 0.0000 0.0000 0.0000 0.0000
------ SPIN DOWN ----------
k = 0.0000 0.0000 0.0000 (166101 PWs) bands (ev):
-21.7267 -7.2612 -7.2612 -7.2612 -0.2350 0.4426 0.6451 0.6451
occupation numbers
1.0000 0.3333 0.3333 0.3333 0.0000 0.0000 0.0000 0.0000
which gives the result as I expected.
I am wondering why I got the dramatically different occupations and
energies in gpaw. Or maybe there is something wrong in my oxygen script?
which looks as follows:
from ase import Atoms
from ase.io import write
from gpaw import GPAW, Mixer, FermiDirac
from gpaw.mixer import MixerSum
a = 7.94
# Oxygen atom:
atom = Atoms('O', cell=[a, a, a], pbc=True)
atom.center()
# GPAW calculator with 6 Kohn-Sham states (bands):
calc = GPAW(nbands=8,
xc='PBE',
gpts=(32, 32, 32),
occupations=FermiDirac(0.1),
hund=True, #assigns the atom its correct magnetic moment
mixer=MixerSum(beta=0.1, nmaxold=5, weight=50.0), # Pulay mixer
txt='O.txt')
atom.set_calculator(calc)
atom.get_potential_energy()
BTW, I also tested carbon atom whose occupations and degeneracy are also
different from what I expected. Would anyone help me with this problem?
Thank you very much in advance.
More information about the gpaw-users
mailing list