Coverage for gpaw/test/xc/test_qna_band.py: 100%
19 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 ase.lattice.compounds import L1_2
4from gpaw import GPAW, PW
7@pytest.mark.old_gpaw_only
8def test_xc_qna_band(in_tmp_dir):
9 """Cu3Au"""
10 ecut = 300
11 kpts = (2, 2, 2)
13 QNA = {'alpha': 2.0,
14 'name': 'QNA',
15 'orbital_dependent': False,
16 'parameters': {'Au': (0.125, 0.1), 'Cu': (0.0795, 0.005)},
17 'setup_name': 'PBE',
18 'type': 'qna-gga'}
20 atoms = L1_2(['Au', 'Cu'], latticeconstant=3.74)
22 calc = GPAW(mode=PW(ecut),
23 xc=QNA,
24 kpts=kpts,
25 parallel={'domain': 1},
26 txt='gs.txt')
28 atoms.calc = calc
29 atoms.get_potential_energy()
30 eigs = calc.get_eigenvalues(kpt=0)[:24]
31 calc.write('gs.gpw')
33 calc = GPAW('gs.gpw').fixed_density(
34 parallel={'domain': 1},
35 kpts=[[-0.25, 0.25, -0.25]])
36 eigs_new = calc.get_eigenvalues(kpt=0)[:24]
37 for eold, enew in zip(eigs, eigs_new):
38 print(eold, enew, eold - enew)
39 assert abs(eold - enew) < 27e-6