File: bandgap.py

package info (click to toggle)
python-ase 3.17.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 16,340 kB
  • sloc: python: 117,348; makefile: 91
file content (25 lines) | stat: -rw-r--r-- 515 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from ase.dft.bandgap import bandgap


class Test:
    def get_ibz_k_points(self):
        return [(0, 0, 0)]

    def get_number_of_spins(self):
        return 2

    def get_eigenvalues(self, kpt, spin):
        return [-10, spin, spin + 2.0]

    def get_fermi_level(self):
        return 0.5


gaps = [2, 11, 1, 2, 11, 1]

calc = Test()
for direct in [0, 1]:
    for spin in [0, 1, None]:
        gap, k1, k2 = bandgap(calc, direct=direct, spin=spin)
        print(gap, k1, k2)
        assert gap == gaps.pop(0)