Coverage for gpaw/test/lfc/test_lf.py: 100%

22 statements  

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

1import pytest 

2from gpaw.grid_descriptor import GridDescriptor 

3from gpaw.spline import Spline 

4import gpaw.mpi as mpi 

5from gpaw.lfc import LocalizedFunctionsCollection as LFC 

6 

7 

8def test_lfc_lf(): 

9 s = Spline.from_data(0, 1.0, [1.0, 0.5, 0.0]) 

10 n = 40 

11 a = 8.0 

12 gd = GridDescriptor((n, n, n), (a, a, a), comm=mpi.serial_comm) 

13 c = LFC(gd, [[s], [s], [s]]) 

14 c.set_positions([(0.5, 0.5, 0.25 + 0.25 * i) for i in [0, 1, 2]]) 

15 b = gd.zeros() 

16 c.add(b) 

17 x = gd.integrate(b) 

18 

19 gd = GridDescriptor((n, n, n), (a, a, a), comm=mpi.serial_comm) 

20 c = LFC(gd, [[s], [s], [s]]) 

21 c.set_positions([(0.5, 0.5, 0.25 + 0.25 * i) for i in [0, 1, 2]]) 

22 b = gd.zeros() 

23 c.add(b) 

24 y = gd.integrate(b) 

25 assert x == pytest.approx(y, abs=1e-13)