Coverage for gpaw/test/eigen/test_keep_htpsit.py: 100%

16 statements  

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

1from gpaw import GPAW 

2from gpaw.eigensolvers.rmmdiis import RMMDIIS 

3from ase import Atoms 

4import pytest 

5 

6 

7def test_eigen_keep_htpsit(): 

8 atoms = Atoms('H') 

9 atoms.center(3.0) 

10 

11 convergence = {'eigenstates': 1e-2, 'density': 1e-2} 

12 base_params = dict( 

13 mode='fd', 

14 nbands=2, 

15 convergence=convergence, 

16 maxiter=20) 

17 # Keep htpsit 

18 calc = GPAW(**base_params, eigensolver=RMMDIIS(keep_htpsit=True)) 

19 atoms.calc = calc 

20 e0 = atoms.get_potential_energy() 

21 

22 # Do not keep htpsit 

23 calc = GPAW(**base_params, eigensolver=RMMDIIS(keep_htpsit=False)) 

24 atoms.calc = calc 

25 e1 = atoms.get_potential_energy() 

26 

27 assert e0 == pytest.approx(e1, abs=1e-12)