Coverage for gpaw/test/spin/test_spinFe3plus.py: 100%
17 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
1from ase import Atoms
3from gpaw import GPAW, FermiDirac
4import pytest
7def test_spin_spinFe3plus():
8 h = 0.4
9 q = 3
11 s = Atoms('Fe')
12 s.center(vacuum=2.5)
13 convergence = {'eigenstates': 0.01, 'density': 0.1, 'energy': 0.1}
15 # use Hunds rules
17 c = GPAW(mode='fd', charge=q, h=h, nbands=5,
18 hund=True,
19 eigensolver='rmm-diis',
20 occupations=FermiDirac(width=0.1),
21 convergence=convergence)
22 s.calc = c
23 assert s.get_magnetic_moment() == pytest.approx(5, abs=0.1)
25 # set magnetic moment
27 mm = [5]
28 s.set_initial_magnetic_moments(mm)
29 c = GPAW(mode='fd', charge=q, h=h, nbands=5,
30 occupations=FermiDirac(width=0.1, fixmagmom=True),
31 convergence=convergence)
32 s.calc = c
33 assert s.get_magnetic_moment() == pytest.approx(5, abs=0.1)