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