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
« 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
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')
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())
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)