Coverage for gpaw/test/test_dipole_new.py: 95%
19 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-08 00:17 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-08 00:17 +0000
1import numpy as np
2import pytest
3from gpaw import GPAW
4from gpaw.core import UGDesc
5from gpaw.mpi import world
8def test_ug_moment():
9 ug = UGDesc.from_cell_and_grid_spacing(
10 [1.0, 2.0, 3.0, 80, 90, 70],
11 0.1,
12 comm=world,
13 pbc=False)
14 a = ug.zeros()
15 if world.rank == 0:
16 a.data[3, 4, 5] = 1.0
17 mom1_v = ug.xyz()[3, 4, 5] * ug.dv
18 else:
19 mom1_v = np.empty(3)
20 world.broadcast(mom1_v, 0)
21 mom2_v = a.moment()
22 assert mom1_v == pytest.approx(mom2_v)
25def test_dipole(gpw_files):
26 calc = GPAW(gpw_files['co_lcao'])
27 d_v = calc.get_atoms().get_dipole_moment()
28 print(d_v)