Coverage for gpaw/test/corehole/test_S2p.py: 100%

18 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-14 00:18 +0000

1import pytest 

2from ase.build import molecule 

3from ase.units import Bohr 

4from gpaw import GPAW 

5from gpaw.test import gen 

6 

7 

8@pytest.mark.old_gpaw_only 

9def test_S2p(): 

10 """Compare number of electrons for different channels with 2p corehole""" 

11 atoms = molecule('SH2') 

12 atoms.center(vacuum=2) 

13 

14 setup = gen('S', name='fch2p', corehole=(2, 1, 1)) 

15 

16 grf = 1 

17 calc = GPAW(mode='fd', h=0.3, spinpol=True, 

18 setups={'S': setup}) 

19 atoms.calc = calc 

20 atoms.get_potential_energy() 

21 

22 for spin, nelectrons in zip([0, 1], [8, 9]): 

23 n_g = calc.get_all_electron_density(spin=spin, gridrefinement=grf) 

24 ne = calc.density.gd.integrate( 

25 n_g, global_integral=False) * (Bohr / grf)**3 

26 assert ne == pytest.approx(nelectrons, abs=1e-5)