Coverage for gpaw/test/response/test_gw_too.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-12 00:18 +0000

1import pytest 

2from gpaw.mpi import world 

3import numpy as np 

4from gpaw.response.g0w0 import G0W0 

5import pickle 

6 

7 

8@pytest.mark.response 

9def test_do_GW_too(in_tmp_dir, gpw_files, scalapack): 

10 gw0 = G0W0(gpw_files['c_pw'], 'gw0', 

11 bands=(3, 5), 

12 nblocks=1, 

13 ecut_extrapolation=True, 

14 ecut=40) 

15 results0 = gw0.calculate() 

16 gw = G0W0(gpw_files['c_pw'], 'gwtoo', 

17 bands=(3, 5), 

18 nblocks=1, 

19 xc='rALDA', 

20 ecut_extrapolation=True, 

21 ecut=40, 

22 fxc_mode='GWP', 

23 do_GW_too=True) 

24 

25 gw.calculate() 

26 

27 world.barrier() 

28 

29 files = gw.savepckl() 

30 

31 with open(files['GW'], 'rb') as handle: 

32 results_GW = pickle.load(handle) 

33 np.testing.assert_allclose(results0['qp'], results_GW['qp'], rtol=1e-03)