Coverage for gpaw/test/mgga/test_mgga_sc.py: 100%

18 statements  

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

1"""Compare TPSS from scratch and from PBE""" 

2import pytest 

3from ase import Atoms 

4from gpaw import GPAW, MixerSum, Davidson 

5 

6 

7@pytest.mark.mgga 

8def test_mgga_mgga_sc(): 

9 n = Atoms('N', magmoms=[3]) 

10 n.center(vacuum=2.5) 

11 

12 def getkwargs(): 

13 return dict(mode='fd', 

14 eigensolver=Davidson(4), 

15 mixer=MixerSum(0.5, 5, 10.0)) 

16 

17 n.calc = GPAW(xc='TPSS', **getkwargs()) 

18 e1 = n.get_potential_energy() 

19 

20 n.calc = GPAW(xc='PBE', **getkwargs()) 

21 n.get_potential_energy() 

22 n.calc = n.calc.new(xc='TPSS') 

23 e2 = n.get_potential_energy() 

24 err = abs(e2 - e1) 

25 print('Energy difference', err) 

26 assert err < 3e-5, err