Coverage for gpaw/test/fd_ops/test_non_periodic.py: 100%

24 statements  

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

1from gpaw.transformers import Transformer 

2import numpy.random as ra 

3from gpaw.grid_descriptor import GridDescriptor 

4 

5 

6def test_fd_ops_non_periodic(): 

7 p = 0 

8 n = 20 

9 gd1 = GridDescriptor((n, n, n), (8.0, 8.0, 8.0), pbc_c=p) 

10 a1 = gd1.zeros() 

11 rng = ra.default_rng(8) 

12 a1[:] = rng.random(a1.shape) 

13 gd2 = gd1.refine() 

14 a2 = gd2.zeros() 

15 i = Transformer(gd1, gd2).apply 

16 i(a1, a2) 

17 assert abs(gd1.integrate(a1) - gd2.integrate(a2)) < 1e-10 

18 r = Transformer(gd2, gd1).apply 

19 a2[0] = 0.0 

20 a2[:, 0] = 0.0 

21 a2[:, :, 0] = 0.0 

22 a2[-1] = 0.0 

23 a2[:, -1] = 0.0 

24 a2[:, :, -1] = 0.0 

25 r(a2, a1) 

26 assert abs(gd1.integrate(a1) - gd2.integrate(a2)) < 1e-10