def test_bz1(self, setup):
     bz = BrillouinZone(1.)
     repr(bz)
     bz.weight
     bz = BrillouinZone(setup.s1)
     assert len(bz) == 1
     assert np.allclose(bz.tocartesian([0, 0, 0]), [0] * 3)
     assert np.allclose(bz.tocartesian([0.5, 0, 0]), [m.pi, 0, 0])
     assert np.allclose(bz.toreduced([0, 0, 0]), [0] * 3)
     assert np.allclose([0.5, 0, 0], bz.tocartesian(bz.toreduced([0.5, 0, 0])))
     for k in bz:
         assert np.allclose(k, np.zeros(3))
Example #2
0
    def test_bz1(self, setup):
        bz = BrillouinZone(1.)
        str(bz)
        bz.weight
        bz = BrillouinZone(setup.s1)
        assert len(bz) == 1
        assert np.allclose(bz.tocartesian([0, 0, 0]), [0] * 3)
        assert np.allclose(bz.tocartesian([0.5, 0, 0]), [m.pi, 0, 0])
        assert np.allclose(bz.toreduced([0, 0, 0]), [0] * 3)
        assert np.allclose([0.5, 0, 0], bz.tocartesian(bz.toreduced([0.5, 0, 0])))
        for k in bz:
            assert np.allclose(k, np.zeros(3))

        w = 0.
        for k, wk in bz.iter(True):
            assert np.allclose(k, np.zeros(3))
            w += wk
        assert w == pytest.approx(1.)

        bz = BrillouinZone(setup.s1, [[0]*3, [0.5]*3], [.5]*2)
        assert len(bz) == 2
        assert len(bz.copy()) == 2
Example #3
0
 def test_to_reduced(self, setup):
     bz = BrillouinZone(setup.s2)
     for k in [[0.1] * 3, [0.2] * 3]:
         cart = bz.tocartesian(k)
         rec = bz.toreduced(cart)
         assert np.allclose(rec, k)