Skip to content

Scientific review: occupation-threshold band gap derivation #194

Description

@ndaelman-hu

calculate_band_gap_from_occupations (parsers/utils/general.py) classifies states as occupied/unoccupied at a universal threshold (0.5) and reports the CBM-VBM distance. Review raised whether band gaps are always safely derivable this way: smeared or fractional occupations (metals, finite-temperature smearing) can straddle the threshold and yield a spurious finite gap, and the threshold itself differs in meaning between spin-polarized (0-1) and non-polarized (0-2) conventions.

The unit test test_partial_occupation_threshold_gap documents the current behavior for partial occupations rather than endorsing it.

Done when: the derivation is reviewed (e.g. gap only reported when occupations are near-integer, or smearing-aware criteria), and parsers relying on the utility are adjusted accordingly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions