Coverage for gpaw/test/test_spinorbit_Kr.py: 100%

18 statements  

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

1import pytest 

2from gpaw.mpi import world 

3from ase import Atoms 

4from gpaw import GPAW 

5from gpaw.spinorbit import soc_eigenstates 

6 

7pytestmark = pytest.mark.skipif(world.size > 1, 

8 reason='world.size > 1') 

9 

10 

11@pytest.mark.soc 

12def test_spinorbit_Kr(): 

13 a = Atoms('Kr') 

14 a.center(vacuum=3.0) 

15 

16 calc = GPAW(mode='pw', xc='LDA') 

17 

18 a.calc = calc 

19 a.get_potential_energy() 

20 

21 e_n = calc.get_eigenvalues() 

22 e_m = soc_eigenstates(calc)[0].eig_m 

23 

24 assert e_n[0] - e_m[0] == pytest.approx(0.0, abs=1.0e-3) 

25 assert e_n[1] - e_m[2] == pytest.approx(0.452, abs=1.0e-3) 

26 assert e_n[2] - e_m[4] == pytest.approx(-0.226, abs=1.0e-3)