Source code for ase2sprkkr.asr.test.test_gw

import pytest


[docs] @pytest.mark.ci def test_gw(asr_tmpdir_w_params, test_material, mockgpaw, mocker, get_webcontent): import numpy as np import gpaw from gpaw.response.g0w0 import G0W0 mocker.patch.object(gpaw.GPAW, "_get_band_gap") gpaw.GPAW._get_band_gap.return_value = 1 mocker.patch.object(gpaw.GPAW, "_get_fermi_level") gpaw.GPAW._get_fermi_level.return_value = 0.5 from asr.gw import main test_material.write("structure.json") ndim = sum(test_material.pbc) def calculate(self): eps = self.calc.get_all_eigenvalues()[np.newaxis, :, 0:6] return {"qp": eps, "Z": np.zeros_like(eps) + 1, "eps": eps} mocker.patch.object(G0W0, "calculate", calculate) if ndim > 1: results = main() assert results['gap_gw'] == pytest.approx(1) get_webcontent() else: with pytest.raises(NotImplementedError): main()