Coverage for gpaw/test/test_coreeig.py: 100%
21 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-14 00:18 +0000
« 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, restart
5from gpaw.utilities.kspot import CoreEigenvalues
7pytestmark = pytest.mark.skipif(world.size > 1,
8 reason='world.size > 1')
11@pytest.mark.old_gpaw_only
12def test_coreeig(in_tmp_dir):
13 a = 7.0
14 calc = GPAW(mode='fd', h=0.1)
15 system = Atoms('Ne', calculator=calc)
16 system.center(vacuum=a / 2)
17 e0 = system.get_potential_energy()
18 calc.write('Ne.gpw')
20 del calc, system
22 atoms, calc = restart('Ne.gpw')
23 calc.converge_wave_functions()
24 e_j = CoreEigenvalues(calc).get_core_eigenvalues(0)
25 assert abs(e_j[0] - (-30.344066)) * \
26 27.21 < 0.1 # Error smaller than 0.1 eV
28 energy_tolerance = 0.002
29 assert e0 == pytest.approx(-0.0107707223, abs=energy_tolerance)