materialsproject / pymatgen

Python Materials Genomics (pymatgen) is a robust materials analysis code that defines classes for structures and molecules with support for many electronic structure codes. It powers the Materials Project.
https://pymatgen.org
Other
1.48k stars 850 forks source link

Band gap issue with static run #86

Closed uconnhong closed 8 years ago

uconnhong commented 10 years ago

Some band gap output analyzed from static run is not correct. This may be related to the definition of valence band maximum and conduction band minimum with occupation of "occu > 1e-8" in vasp_output.py For example. In a static run. band gap occurs between band 96 and 97 for one calculation. The occupation and energy of these two bands at different KPOINT is band 97 # energy 5.34588712 # occ. 0.00024002 band 97 # energy 5.67445169 # occ. 0.00000000 band 97 # energy 5.49090544 # occ. 0.00000313 band 97 # energy 5.34589837 # occ. 0.00023995 band 97 # energy 5.67446456 # occ. 0.00000000 band 97 # energy 5.49091742 # occ. 0.00000313 band 96 # energy 4.34996188 # occ. 0.99980782 band 96 # energy 4.00965011 # occ. 1.00000000 band 96 # energy 3.78252682 # occ. 1.00000000 band 96 # energy 4.34993175 # occ. 0.99980798 band 96 # energy 4.00962333 # occ. 1.00000000 band 96 # energy 3.78250168 # occ. 1.00000000

The real band gap shall be 5.3459-4.3499 which is ~ 1eV The band gap in analysis in database is 5.4909-5.3459 which is 0.145 eV. This is some energy difference in CB rather than a band gap.

shyuep commented 10 years ago

Thanks for reporting the issue. Do you have a proposed solution? How about instead of a strict cutoff like 1e-8, we look at the delta in occupation between bands?

setten commented 10 years ago

I would try to get rid of the partial occupations. rerun wiht tetrahedra ?

----- Original Message ----- From: Shyue Ping Ong To: materialsproject/pymatgen Sent: Monday, May 05, 2014 5:48 PM Subject: Re: [pymatgen] Band gap issue with static run (#86)

Thanks for reporting the issue. Do you have a proposed solution? How about instead of a strict cutoff like 1e-8, we look at the delta in occupation between bands?

— Reply to this email directly or view it on GitHub.

uconnhong commented 10 years ago

How about using Ef or number of bands (to be occupied based on nelect). for example, for spin calculation with nelect=10, there will be 10 bands with ideal occupation of 1 and band 11 shall be empty for semiconductor. energy difference between highest band 10 energy and lowest band 11 energy for all kpoints gives Eg.

On Mon, May 5, 2014 at 11:48 AM, Shyue Ping Ong notifications@github.comwrote:

Thanks for reporting the issue. Do you have a proposed solution? How about instead of a strict cutoff like 1e-8, we look at the delta in occupation between bands?

— Reply to this email directly or view it on GitHubhttps://github.com/materialsproject/pymatgen/issues/86#issuecomment-42202539 .

shyuep commented 10 years ago

Sounds like a good strategy. Can you implement this in a separate branch and add a test based on the incorrectly parsed output file that you mentioned? Thanks.

uconnhong commented 10 years ago

ok I will test it.

On Mon, May 5, 2014 at 12:54 PM, Shyue Ping Ong notifications@github.comwrote:

Sounds like a good strategy. Can you implement this in a separate branch and add a test based on the incorrectly parsed output file that you mentioned? Thanks.

— Reply to this email directly or view it on GitHubhttps://github.com/materialsproject/pymatgen/issues/86#issuecomment-42209700 .

uconnhong commented 10 years ago

realize it is not right approach. Will have problem for metals.

On Mon, May 5, 2014 at 1:20 PM, Hong Zhu zhuhong1984sh@yahoo.com wrote:

ok I will test it.

On Mon, May 5, 2014 at 12:54 PM, Shyue Ping Ong notifications@github.comwrote:

Sounds like a good strategy. Can you implement this in a separate branch and add a test based on the incorrectly parsed output file that you mentioned? Thanks.

— Reply to this email directly or view it on GitHubhttps://github.com/materialsproject/pymatgen/issues/86#issuecomment-42209700 .

shyuep commented 9 years ago

Any update on this issue?