Coverage for gpaw/test/pw/test_bulk.py: 100%

18 statements  

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

1import numpy as np 

2from ase import Atoms 

3from gpaw import GPAW 

4from gpaw import PW 

5import pytest 

6 

7 

8def test_pw_bulk(): 

9 bulk = Atoms('Li', pbc=True) 

10 k = 4 

11 calc = GPAW(mode=PW(200), 

12 kpts=(k, k, k), 

13 eigensolver='rmm-diis') 

14 

15 bulk.calc = calc 

16 e = [] 

17 A = [2.6, 2.65, 2.7, 2.75, 2.8] 

18 for a in A: 

19 bulk.set_cell((a, a, a)) 

20 e.append(bulk.get_potential_energy()) 

21 

22 a = np.roots(np.polyder(np.polyfit(A, e, 2), 1))[0] 

23 print('a =', a) 

24 assert a == pytest.approx(2.65247379609, abs=0.001)