Coverage for gpaw/test/pseudopotential/test_sg15_hydrogen.py: 100%
18 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-09 00:21 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-09 00:21 +0000
1# Test loading of sg15 setups as setups='sg15' and that the calculation
2# agrees with PAW for the H2 eigenvalue.
4from ase.build import molecule
5from gpaw import GPAW, Davidson, Mixer
8def test_pseudopotential_sg15_hydrogen(sg15_hydrogen):
9 system = molecule('H2')
10 system.center(vacuum=2.5)
12 def getkwargs():
13 return dict(mode='fd',
14 eigensolver=Davidson(4),
15 mixer=Mixer(0.8, 5, 10.0),
16 xc='oldPBE')
18 calc1 = GPAW(setups={'H': sg15_hydrogen}, h=0.13, **getkwargs())
19 system.calc = calc1
20 system.get_potential_energy()
21 eps1 = calc1.get_eigenvalues()
23 calc2 = GPAW(h=0.2, **getkwargs())
24 system.calc = calc2
25 system.get_potential_energy()
26 eps2 = calc2.get_eigenvalues()
28 err = eps2[0] - eps1[0]
30 # It is not the most accurate calculation ever, let's just make sure things
31 # are not completely messed up.
32 print('sg15 vs paw error', err)
33 assert abs(err) < 0.02 # 0.0055.... as of current test.