Coverage for gpaw/test/spin/test_spinpol.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
1import pytest
2from ase import Atom, Atoms
3from gpaw import GPAW, FermiDirac
6def test_spin_spinpol():
7 a = 4.0
8 n = 16
9 hydrogen = Atoms([Atom('H')], cell=(a, a, a), pbc=True)
10 hydrogen.center()
11 hydrogen.calc = GPAW(
12 mode='fd',
13 gpts=(n, n, n),
14 nbands=1,
15 convergence={'energy': 1e-5},
16 occupations=FermiDirac(0.0))
17 e1 = hydrogen.get_potential_energy()
19 hydrogen.calc = hydrogen.calc.new(hund=True)
20 e2 = hydrogen.get_potential_energy()
22 de = e1 - e2
23 print(de)
24 assert de == pytest.approx(0.7871, abs=1.e-4)
26 energy_tolerance = 0.0006
27 assert e1 == pytest.approx(-0.499854, abs=energy_tolerance)
28 assert e2 == pytest.approx(-1.287, abs=energy_tolerance)