Coverage for gpaw/test/test_fixmom.py: 100%
14 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 Atoms
3from gpaw import GPAW, FermiDirac
4from gpaw.mixer import MixerSum
7def test_fixmom():
8 a = 2.87
9 bulk = Atoms('Fe2',
10 scaled_positions=[(0, 0, 0), (0.5, 0.5, 0.5)],
11 magmoms=[2.20, 2.20],
12 cell=(a, a, a),
13 pbc=True)
14 mom0 = sum(bulk.get_initial_magnetic_moments())
15 conv = {'eigenstates': 0.1, 'density': 0.001, 'energy': 0.01}
16 calc = GPAW(mode='pw',
17 mixer=MixerSum(0.1, 3),
18 nbands=11,
19 kpts=(3, 3, 3),
20 convergence=conv,
21 occupations=FermiDirac(0.1, fixmagmom=True))
22 bulk.calc = calc
23 bulk.get_potential_energy()
24 mom = bulk.get_magnetic_moment()
25 assert mom == pytest.approx(mom0, abs=0.05)