File: test_bandgap.py

package info (click to toggle)
python-ase 3.21.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,936 kB
  • sloc: python: 122,428; xml: 946; makefile: 111; javascript: 47
file content (26 lines) | stat: -rw-r--r-- 603 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
26
def test_bandgap():
    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)