Coverage for gpaw/test/lcaotddft/test_fxc_rpa.py: 100%
17 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-19 00:19 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-19 00:19 +0000
1import numpy as np
2import pytest
4from gpaw.lcaotddft import LCAOTDDFT
5from gpaw.lcaotddft.dipolemomentwriter import DipoleMomentWriter
6from gpaw.mpi import world
9@pytest.mark.rttddft
10def test_lcaotddft_fxc_rpa(gpw_files, in_tmp_dir):
11 # Time-propagation calculation with fxc
12 td_calc = LCAOTDDFT(gpw_files['na2_tddft_poisson'], fxc='RPA',
13 txt='td.out')
14 DipoleMomentWriter(td_calc, 'dm.dat')
15 td_calc.absorption_kick(np.ones(3) * 1e-5)
16 td_calc.propagate(20, 3)
17 world.barrier()
19 # Check dipole moment file
20 data = np.loadtxt('dm.dat')[:, 2:].ravel()
21 if 0:
22 from gpaw.test import print_reference
23 print_reference(data, 'ref', '%.12le')
25 ref = [-9.383700894739e-16,
26 -9.338586948130e-16,
27 2.131582675483e-14,
28 8.679923327633e-15,
29 7.529517689096e-15,
30 2.074867751820e-14,
31 1.960742702185e-05,
32 1.960742702128e-05,
33 1.804030746475e-05,
34 3.761997205571e-05,
35 3.761997205562e-05,
36 3.596681520068e-05,
37 5.257367158160e-05,
38 5.257367158104e-05,
39 5.366663490365e-05]
41 tol = 1e-8
42 assert data == pytest.approx(ref, abs=tol)