Coverage for gpaw/test/poisson/test_poisson_cell_change.py: 100%

17 statements  

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

1import pytest 

2from ase.build import bulk 

3from gpaw import GPAW 

4from gpaw.poisson import FFTPoissonSolver, FDPoissonSolver, FastPoissonSolver 

5import numpy as np 

6 

7 

8@pytest.mark.parametrize('poisson', [FFTPoissonSolver, FDPoissonSolver, 

9 FastPoissonSolver]) 

10def test_poisson_cell_change(poisson): 

11 atoms = bulk('Na') 

12 calc = GPAW(mode='lcao', poissonsolver=poisson()) 

13 atoms.calc = calc 

14 atoms.get_potential_energy() 

15 atoms.set_cell(atoms.cell * 1.1, scale_atoms=True) 

16 Ep = atoms.get_potential_energy() 

17 calc = GPAW(mode='lcao', poissonsolver=poisson()) 

18 atoms.calc = calc 

19 Ep2 = atoms.get_potential_energy() 

20 assert np.allclose(Ep, Ep2, rtol=1e-4, atol=1e-5)